题目:

 

 

思路:

利用一个数组记录每个数出现的次数(数组下标是出现的数,数组的值是出现数的次数). 边输入边统计,在统计的同时,用一个变量记录出现次数的最大值. 最后通过一次遍历(从最小的数开始),一旦发现出现次数与出现次数最大值相同的值,就输出数组下标. 需要分清楚数字的个数和数字的大小范围(数组大小不要开错).

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 int arr[10005]{0};
 6 
 7 int main()
 8 {
 9     ios::sync_with_stdio(false);
10     cin.tie(0);
11 
12     int n;
13     cin >> n;
14     int maxn = 0;
15     for (int i = 0; i < n; i++) {
16         int x;
17         cin >> x;
18         arr[x]++;
19         maxn = max(arr[x], maxn);
20     }
21     for (int i = 0; i <= 10000; i++)
22         if (arr[i] == maxn) {
23             cout << i << endl;
24             break;
25         }
26     
27     return 0;
28 }

版权声明:本文为AntonLiu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/AntonLiu/p/11161346.html