A - 统计数字
时间限制:1 s内存限制:128 MB
给定N个数字,统计出现次数最多的。如果有多个数字出现次数都是最多的,从小到大输出。
思路:使用STL中的map容器。
map简介
map是STL的一个关联容器,以键值对存储的数据,其类型可以自己定义,每个关键字在map中只能出现一次,关键字不能修改,值可以修改;map内部有序(自动排序,单词时按照字母序排序),查找时间复杂度为O(logn)。
————————————————
版权声明:上文为CSDN博主「不会编程的小猿」的原创文章
原文链接:https://blog.csdn.net/weixin_41501074/article/details/114532738
————————————————
代码:
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n;
int x;
map<int,int> num;
int max_num;
signed main() {
cin >> n;
for(int i = 1;i <= n;i++) {
cin >> x;
num[x]++;
max_num = max(max_num,num[x]);
}
for(map<int,int>::iterator it = num.begin();it != num.end();it++) {
if(it->second == max_num) cout << it->first << " ";
}
return 0;
}