Python program to find N largest elements from a list



Python program to find N largest elements from a list

Given a list of integers, the task is to find N largest elements assuming size of list is greater than or equal o N.

Examples :

 

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]

A simple solution traverse the given list N times. In every traversal, find the maximum, add it to result, and remove it from the list. Below is the implementation :

# 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)

Output :

[85, 41]

Time Complexity : O(N * size) where size is size of the given list.
Method 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:])

Output:

[-45, 100, 200, 298, 900, 1000, 3579]
Find the N largest element: 4
[298, 900, 1000, 3579]

 

Last Updated on November 13, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs