1 条题解
-
0
# 解题思路 先找最大值,再在所有小于最大值的数中找最大值。 # 复杂度 - 时间复杂度:$O(n)$(若题目只有单个整数,则可视为 $O(1)$)。 - 空间复杂度:$O(n)$ 或 $O(1)$,取决于是否需要保存数组。 # 参考程序 ```cpp #include<bits/stdc++.h>using namespace std;
int main(){ int n,a[1005]; cin >> n; for(int i=0;i<n;i++) cin >> a[i]; int mx=a[0]; for(int i=1;i<n;i++) if(a[i]>mx) mx=a[i]; bool found=false; int second=0; for(int i=0;i<n;i++) if(a[i]<mx){ if(!found || a[i]>second){ second=a[i]; found=true; } } if(found) cout << second; else cout << "NONE"; return 0; } ```
- 1
信息
- ID
- 5054
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 4
- 已通过
- 2
- 上传者
粤公网安备44195502000195号