找出给定n个整数中的次大值(第二大)
输入格式:输入分为两行,第一行一个整数n,表示数据的个数,第二行是由空格分隔的n个整数。
输出格式:n个数据中的次大值。
输入样例:
6
23 34 8 26 17 9
输出样例:
26
【以下回答由 GPT 生成】
解决方案如下:
max_val
和second_max_val
,分别用来记录最大值和次大值。max_val
,则将当前整数赋值给second_max_val
,并将max_val
更新为当前整数。second_max_val
,但小于max_val
,则将当前整数赋值给second_max_val
。second_max_val
,即为次大值。下面是具体的实现代码:
n = int(input("请输入数据个数:"))
nums = list(map(int, input("请输入整数,由空格分隔:").split()))
max_val = float('-inf')
second_max_val = float('-inf')
for num in nums:
if num > max_val:
second_max_val = max_val
max_val = num
elif num > second_max_val and num != max_val:
second_max_val = num
print("次大值为:", second_max_val)
该实现可以找出给定整数列表中的次大值,如果没有次大值则输出float('-inf')
表示无解。
【相关推荐】