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 traverses 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.