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;
		}
	}
} 
posted @ 2020-07-08 12:47  健康胖憨尼  阅读(95)  评论(0)    收藏  举报