写一个Python函数找出一个整数数组中,第二大的数 ?
参考答案:
可以使用以下Python函数来找出整数数组中的第二大的数:
def find_second_largest(nums):
if len(nums) < 2:
return None
largest = float('-inf')
second_largest = float('-inf')
for num in nums:
if num > largest:
second_largest = largest
largest = num
elif num > second_largest and num != largest:
second_largest = num
return second_largest
这个函数首先检查数组的长度是否小于2,如果是,则返回None,因为无法找到第二大的数。然后,它初始化两个变量largest
和second_largest
为负无穷大。
接下来,它遍历数组中的每个数字。如果当前数字大于largest
,则将其赋值给second_largest
,并将largest
更新为当前数字。如果当前数字大于second_largest
但小于largest
,则将其赋值给second_largest
。
最后,函数返回second_largest
,即数组中的第二大的数。
请注意,此函数假设数组中至少有两个不同的数字。如果数组中有重复的数字,则函数将返回None,因为无法确定哪个数字是第二大的。