[BZOJ2456/ZOJ2132]mode/The Most Frequent Number

题目链接:

BZOJ2456

ZOJ2132

日常锻炼思维(虽然这题很简单就是了

因为众数个数超过\(\frac n2\),那么若数列中有两个数不相同就消去,最后众数一定可以抵消掉所有其他数。

然后模拟即可。

#include <cstdio>

int n,a,c,x;
//a 当前数,c 当前数个数

int main()
{
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d",&x);
		if(!c)a=x,c=1;//新数
		else if(a==x)++c;//相同,个数+1
		else --c;//不相同,抵消
	}
	printf("%d\n",a);
	return 0;
}
posted @ 2019-01-02 22:06  LanrTabe  阅读(181)  评论(0编辑  收藏  举报