Skip to content

Instantly share code, notes, and snippets.

@sandordargo
Created August 18, 2017 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sandordargo/d4e7a9a0582756ff74a228b754c76a93 to your computer and use it in GitHub Desktop.
Save sandordargo/d4e7a9a0582756ff74a228b754c76a93 to your computer and use it in GitHub Desktop.
Get first 3 largest elements of a list (without sorting the whole list)
import random
def get_random_numbers(amount):
random_numbers = random.sample(range(1, 1000), amount)
print([x for x in reversed(sorted(random_numbers))])
return random_numbers
numbers = get_random_numbers(100)
first_largest = 0
second_largest = 0
third_largest = 0
for number in numbers:
if number > first_largest:
third_largest = second_largest
second_largest = first_largest
first_largest = number
elif number > second_largest:
third_largest = second_largest
second_largest = number
elif number > third_largest:
third_largest = number
print(first_largest, second_largest, third_largest)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment