题目

从标准输入读入 n 个互不相同的整数,查找并输出其中的第二大数。

输入格式:第一行输入整数个数 n(n ≥ 2);第二行输入 n 个整数。

输出格式:输出一个整数表示第二大数,末尾换行。

数据范围与约定:2 ≤ n ≤ 1000。

思路与算法

1. 单次遍历维护前两名
设置 first 和 second 两个变量,单次 O(n) 线性扫描更新最大与次大值。

2. 集合去重与排序法
也可通过 sorted(set(a))[-2] 取倒数第二位,代码极简。

完整程序

n = int(input())

# 倒序提取输出每一位数字
digits = []
x = n
while x > 0:
    digits.append(str(x % 10))
    x //= 10

print(" ".join(digits))

运行示例

输入:

5
3 9 1 7 5

输出:

7