[BZOJ2456/ZOJ2132]mode/The Most Frequent Number
题目链接:
日常锻炼思维(虽然这题很简单就是了)
因为众数个数超过\(\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;
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号