描述
sps是zzq的好伙伴。
sps一天叫来了许多个妹子。然后sps看了看这些妹子,说了m个数。这m个数中出现次数最多的数就是sps最喜欢的妹子的编号。因为sps非常专一,他最喜欢的妹子的编号出现的次数大于m的一半。
你自然想知道一下sps最喜欢哪个妹子。
m<=1000000。m个数均在int范围内的正数。
注意看时空限制! 输入格式
第一行一个数m。
第二行m个数。 输出格式
输出出现次数最多的数。
扫描,维护一个now和计数器cnt,如果遇到的数等于now,那么计数器加一,否则计数器减一。如果计数器变为负,那么now改为当前值并且计数器为一。
因为众数出现次数大于一半,所以即使剩下的所有数都和他“作对”,也一定可以留到最后。
#include<cstdio>
int main()
{
int i,n,now=-1,cnt=0,x;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&x);
if (now==x) cnt++;
else
{
cnt--;
if (cnt==-1)
{
now=x;
cnt=1;
}
}
}
printf("%d\n",now);
}