問題の説明
n個の正の整数を指定して、その中で最も頻度の高い整数を見つけます。複数ある場合は、小さい方を出力してください。
入力フォーマット入力
の最初の行には、桁数を示す正の整数n(1≤n≤1000)のみがあります。
入力の2行目には、n個の整数s1、s2、…、sn(1≤si≤10000、1≤i≤n)があります。隣接する数字はスペースで区切られます。
出力形式
n回の出現回数を出力します。そのような番号が複数ある場合は、最小のものが出力されます。
サンプル入力
6
10 1 10 20 30 20
サンプル出力
10
経験の要約:
マップを使用して数値とその発生時間をインストールし、次にマップをトラバースして適格な数値を見つけます。
C ++コード:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,max = 0,best;
map<int,int> m;
scanf("%d",&n);
while(n--){
int a;
scanf("%d",&a);
m[a]++;
}
for(auto i:m){
if(max<i.second){
best = i.first;
max = i.second;
}
}
printf("%d",best);
return 0;
}