Dada una lista de enteros, la tarea es encontrar N elementos más grandes suponiendo que el tamaño de la lista es mayor o igual a N.
Ejemplos:
Input : [4, 5, 1, 2, 9] N = 2 Output : [9, 5] Input : [81, 52, 45, 10, 3, 2, 96] N = 3 Output : [81, 96, 52]
Una solución simple recorrer la lista dada N veces. En cada recorrido, encuentre el máximo, agréguelo al resultado y elimínelo de la lista. A continuación se muestra la implementación:
# Python program to find N largest # element from given list of integers # Function returns N largest elements def Nmaxelements(list1, N): final_list = [] for i in range(0, N): max1 = 0 for j in range(len(list1)): if list1[j] > max1: max1 = list1[j]; list1.remove(max1); final_list.append(max1) print(final_list) # Driver code list1 = [2, 6, 41, 85, 0, 3, 7, 6, 10] N = 2 # Calling the function Nmaxelements(list1, N)
Producción :
[85, 41]
Complejidad de tiempo: O (N * tamaño) donde el tamaño es el tamaño de la lista dada.
Método 2:
# Python program to find N largest # element from given list of integers l = [1000,298,3579,100,200,-45,900] n = 4 l.sort() print(l[-n:])
Producción:
[-45, 100, 200, 298, 900, 1000, 3579] Find the N largest element: 4 [298, 900, 1000, 3579]
Consulte k elementos más grandes (o más pequeños) en una array para obtener soluciones más eficientes de este problema.
Publicación traducida automáticamente
Artículo escrito por SaumyaBansal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA