题解
【入门】最大数
1 条题解
-
0
解题思路
先找出最大值,再从前到后检查,输出所有最大值的位置。
参考代码
// 先读入题目给出的数据。 // 再按照题目要求进行计算。 // 最后按规定格式输出答案。 #include <iostream> using namespace std; int main() { int n, a[10], mx; cin >> n; // 先保存数据,并找出最大的数。 for (int i = 0; i < n; i++) cin >> a[i]; mx = a[0]; for (int i = 1; i < n; i++) if (a[i] > mx) mx = a[i]; // 位置从1开始,所以输出下标加1。 for (int i = 0; i < n; i++) if (a[i] == mx) cout << i + 1 << endl; return 0; }复杂度分析
排序需要 O(n^2) 时间;其余循环按照实际遍历次数计算。代码使用固定大小数组,额外空间复杂度为 O(1) 或 O(n)。
- 1