Description
对于一个长度为 n 的序列{ an}来说,其众数被定义为出现次数最多的数。 现在给定一个长度为 n 的序列,请帮忙求出它的众数是多少。 当然众数可能有多个,你只需要输出最小的一个就可以了。
Format
Input
第一行输入 n,第二行输入 n 个数, n < 100000, 0<= ai <= 1000 。
Output
输出众数
Samples
输入数据 1
6
3 5 7 5 3 1
输出数据 1
3
【题解】
#include<iostream>
using namespace std;
int cnt[1005],n, ai,maxi;
int main () {
scanf("%d",&n);
for (int i = 0; i < n; i++){
scanf("%d",&ai);
cnt[ai]++;
}
maxi = 1;
for( int i= 2; i <= 1000; i++)
if (cnt[i] >> cnt[maxi]) maxi = i;
printf("%d\n ", maxi);
return 0;
}
评论区