CSP 201312-1 出现次数最多的数

思路
由于输入的数组元素是 1 ≤ si ≤ 10000,所以开一个 10001 的数组。输入的过程中使用 num 记录出现的最大次数;
在所有输入结束后,遍历数组元素,由于题目要求出现多个众数输出最小的,所以从头遍历,当出现值为 num 的元素时,输出下标。(用数组存键值对时,数组下标相当于已经排好了序)
代码
#include<iostream>
using namespace std;
int arr[10001];
int main (){
int n;
cin >> n;
int num = -1;
for(int i=1; i<=n; i++){
int t;
cin >> t;
arr[t]++;
if (arr[t] > num){
num = arr[t];
}
}
int min = 10001;
for(int i=1; i<=n; i++){
if(arr[i] == num){
cout << i;
break;
}
}
}

浙公网安备 33010602011771号