Programa de Python para encontrar N elementos más grandes de una lista

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *