CCF认证真题-(201312-1)-出现次数最多的数
题目:
思路:
利用一个数组记录每个数出现的次数(数组下标是出现的数,数组的值是出现数的次数). 边输入边统计,在统计的同时,用一个变量记录出现次数的最大值. 最后通过一次遍历(从最小的数开始),一旦发现出现次数与出现次数最大值相同的值,就输出数组下标. 需要分清楚数字的个数和数字的大小范围(数组大小不要开错).
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 版权协议,转载请附上原文出处链接和本声明。