如何快速获取列表中最大的三个元素
最近在做实验,期间需要在一个列表中获取最大的三个元素,自己写的方法复杂度太高,放上大牛的方法,复杂度很低。多看几遍,才能体会到大概的精髓。这道题也是Python的面试题,在牛客网上刷到的!故在此记录分享一下,希望对大家有所帮助!
def FindList3MaxNum(ls): # 快速获取list中最大的三个元素
max1, max2, max3 = None, None, None
for num in ls:
if max1 is None or max1 < num:
max1, num = num, max1
if num is None:
continue
if max2 is None or num > max2:
max2, num = num, max2
if num is None:
continue
if max3 is None or num > max3:
max3 = num
return max1, max2, max3