top1编程
← 返回题目
题解

【入门】数字出现次数

1 条题解

  • 0
    @ 2026-7-30 1:34:20

    解题思路

    数字范围只有 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