求次大值,找出整数中的次大值

找出给定n个整数中的次大值(第二大)
输入格式:输入分为两行,第一行一个整数n,表示数据的个数,第二行是由空格分隔的n个整数。
输出格式:n个数据中的次大值。
输入样例:
6
23 34 8 26 17 9
输出样例:
26

【以下回答由 GPT 生成】

解决方案如下:

  1. 首先,读取输入的整数n和n个整数列表。
  2. 初始化两个变量,max_valsecond_max_val,分别用来记录最大值和次大值。
  3. 遍历整数列表,对于每个整数:
  4. 如果当前整数大于max_val,则将当前整数赋值给second_max_val,并将max_val更新为当前整数。
  5. 如果当前整数大于second_max_val,但小于max_val,则将当前整数赋值给second_max_val
  6. 输出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')表示无解。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^