题目描述

传送门

题解

卡内存,谁知道连iostream和ctring都不能开= =,涨姿势= =
注意这里众数的概念:大于 n div 2 那么每次把不同的两个数相抵消,最后剩下的那个一定是“众数”。

代码

#include<cstdio>
using namespace std;
int n,num,ans,x;
int main(){

    scanf("%d",&n);
    for (int i=1;i<=n;++i){
        scanf("%d",&x);
        if (!num){
            ans=x;
            num=1;
            continue;
        }
        if (x==ans)
          num++;
        else
          num--;
    }
    printf("%d\n",ans);
}

总结

这种题有一些奇怪的卡点挂了就挂了,就当是涨姿势= = 然而思路能不能自己想出来呢?

dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。