题目描述:
桐桐做完了数学作业之后,在练习本上写了N个正整数,她希望知道她随手写出来的数字哪一个出现得最多,你能想出什么办法帮助她吗?
输入:
第一行只有一个数:N(1≤N≤500000); 第二行有N个正整数,相邻数用空格隔开,所有数均不超过10000。
输出:
出现次数最多的那个数,如果有相同次数的,则输出数值较小的那个数。
样例输入:
9
3 1 2 2 17 1 3 17 3
样例输出 :
3
代码:
#include<bits/stdc++.h>
using namespace std;
int a[500000],t,mx=-1e9,k;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>t;
a[t]++;
}
for(int i=0;i<=10000;i++){
if(a[i]>mx){
mx=a[i];
k=i;
}
}
cout<<k;
return 0;
}