Run ID:147956
提交时间:2026-02-09 09:28:39
#include <iostream> #include <vector> #include <limits> using namespace std; int findSecondSmallest(vector<int> numbers) { int smallest = numeric_limits<int>::max(); int secondSmallest = numeric_limits<int>::max(); for (int num : numbers) { if (num < smallest) { secondSmallest = smallest; smallest = num; } else if (num < secondSmallest && num != smallest) { secondSmallest = num; } } if (secondSmallest == numeric_limits<int>::max()) { return -1; // 表示不存在第二小的数,这里用 -1 标识,实际输出时会处理为 "NO" } return secondSmallest; } int main() { int C; cin >> C; for (int i = 0; i < C; i++) { int n; cin >> n; vector<int> numbers(n); for (int j = 0; j < n; j++) { cin >> numbers[j]; } int result = findSecondSmallest(numbers); if (result == -1) { cout << "NO" << endl; } else { cout << result << endl; } } return 0; }