空间限制,所以无法存下所有的数。
因为众数的数量多于其他所有数的总和,所以,遇到相同的数,就计数,遇到不同的数,就抵消,最终剩下的就是众数了。
代码如下:
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;
}