201312-1 试题名称: 出现次数最多的数 C++

80 阅读1分钟

问题分析

在这里插入图片描述


样例输入
6
10 1 10 20 30 20
样例输出
10

第一回合
在这里插入图片描述

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int n;
	int a;
	int i;
	int ans[10001]={0},l=-1;
	cin>>n;
	for(i=0;i<n;i++){
		cin>>a;
		if(a>l){
			l=a;//更新保存所有数字出现次数数组的长度,方便后续进行遍历
		}
		ans[a]++;//保存所有数字出现的次数
	}
	int MAX=-1,num=-1;
	for(i=0;i<=l;i++){
		if(ans[i])
		{
			if(ans[i]>MAX){
				MAX=ans[i];//数字出现的最大次数
				num=i;//出现次数最大的数字
			}
		}
	}
	cout<<num;
	return 0;
}

问题总结

见代码及注释

参考

官网在线刷题