CCF-2013-12-1 出現次數最多的數
阿新 • • 發佈:2018-12-21
問題描述
給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的一個。
輸入格式
輸入的第一行只有一個正整數n(1 ≤ n ≤ 1000),表示數字的個數。
輸入的第二行有n個整數s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相鄰的數用空格分隔。
輸出格式
輸出這n個次數中出現次數最多的數。如果這樣的數有多個,輸出其中最小的一個。
樣例輸入
6
10 1 10 20 30 20
樣例輸出
10
這個主要可以練習下map怎麼使用。或者暴力點也行,第一題問題不大。
100程式碼
#include<iostream> #include<map> using namespace std; int main() { map<int ,int >name; int n; int max=0; int count=0; cin>>n; while(n--){ int x; cin>>x; name.insert(pair<int ,int >(x,0)); name[x]++; if(count<name[x]) { count=name[x]; max=x; } else if(count==name[x]) max=max>x?x:max; } cout<<max; }