题解
【入门】数字出现次数
1 条题解
-
0
解题思路
数字范围只有 0 到 19,用数组统计每个数字出现的次数。
参考代码
// 先读入题目给出的数据。 // 再按照题目要求进行计算。 // 最后按规定格式输出答案。 #include <iostream> using namespace std; int main() { int x, a[20] = {}, mx = 0; // 数字范围是0到19,用数组下标记录每个数字出现次数。 for (int i = 0; i < 50; i++) { cin >> x; a[x]++; } // 找出最大的出现次数。 for (int i = 0; i < 20; i++) if (a[i] > mx) mx = a[i]; cout << mx << endl; return 0; }复杂度分析
排序需要 O(n^2) 时间;其余循环按照实际遍历次数计算。代码使用固定大小数组,额外空间复杂度为 O(1) 或 O(n)。
- 1