从键盘读入n个整数(n<=100),这n个数都是1~10之间的数,请求出出现次数最多的数是哪个数?
比如:假设读入5个数,分别为1 2 3 3 5,出现次数最多的数就是3。(本题的数据确保出现次数最多的数只有1个,不存在多个数出现的次数都最多的情况)
第1行输入一个整数n。
第2行输入n个整数,用空格隔开。
输出出现次数最多的数。
5 1 2 3 3 5
3
代码实现:
#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
int main()
{
? ? int arr[11] = {0};
? ? int n;
? ? cin>>n;
? ? int num;
? ? for (int i = 1; i <= n; i++)
? ? {
? ? ? ? cin >> num;
? ? ? ? arr[num]++;
? ? }
? ? int mx=-1;
? ? int ans;
? ? for (int i = 1; i <= 10; i++)
? ? {
? ? ? ? if(arr[i] > mx)
? ? ? ? {
? ? ? ? ?? ?mx = arr[i];
? ? ? ? ?? ?ans = i;
?? ??? ?}
? ? }
? ? cout << ans;
? ? return 0;
}