找出列表中第二大数

题目: 有一个无序列表,请找出这个列表中的第二大的数。时间复杂度控制在O(n)内。


def
get_second_num(arry):
  # 比较列表前两个元素,大的赋值给first,小的赋值给second first
= arry[0] if arry[0] > arry[1] else arry[1] second = arry[0] if arry[0] < arry[1] else arry[1]
  # 从列表第三个元素开始遍历,并与first、second比较
for i in arry[2:]: if i > first: second = first first = i elif i > second: second = i return second
原文地址:https://www.cnblogs.com/fansirs/p/13479708.html