ZOJ 2132 The Most Frequent Number

ZOJ 2132 The Most Frequent Number_第1张图片

空间限制,所以无法存下所有的数。 

因为众数的数量多于其他所有数的总和,所以,遇到相同的数,就计数,遇到不同的数,就抵消,最终剩下的就是众数了。

代码如下:

int n,a,number;
int main(void)
{
	while(cin>>n){
		a=0;number=0;
		for(int i=0;i<n;i++){
			int t;
			scanf("%d",&t);
			if(a==t) {
				number++;
				continue;
			}
			else{
				if(number>0) number--;
				else a=t,number++;
			}
		}
		printf("%d\n",a);
	}
return 0;
}




你可能感兴趣的:(ZOJ 2132 The Most Frequent Number)