时间限制 : 1 秒
内存限制 : 128 MB
现在给你 n 个数,请你求出这 n 个数的众数,众数就是这 n 个数中出现次数最多的数字
例如:
6
1 2 2 4 2 5
众数即为 22
输入
输入有 2 行:
第一行是一个整数 n, 1≤ n ≤100000,表示有 n 个数;
第二行有 n 个空格隔开的整数 ai,1≤ai≤100。
输出
输出众数(如果有多个众数,输出最小的一个)
样例
输入
6 1 2 2 4 2 5
输出
2
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N],n,cnt,ma,p;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
cnt=1;
ma=1;
p=a[1];
for(int i=2;i<=n;i++)
{
if(a[i]!=a[i-1])
{
if(cnt>ma)
{
ma=cnt;
p=a[i-1];
}
cnt=1;
}
else
{
cnt++;
}
}
cout<<p ;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int a[105],n,t,p;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&t);
a[t]++;
}
p=1;//假设1是众数
for(int i=2;i<=100;i++)
{
if(a[i]>a[p])
{
p=i;
}
}
cout<<p;
return 0;
}