Luogu P2397 yyy loves Maths VI (mode)
Posted wxl-ezio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu P2397 yyy loves Maths VI (mode)相关的知识,希望对你有一定的参考价值。
题目传送门
虽然只是一道黄题,但还是学到了一点新知识——
摩尔投票法
用(O(1))的内存,(O(n))的时间来找出一串长度为n的数中的众数,前提是众数出现的次数要大于(n/2)
方法很简单:
for(int i=1;i<=n;i++){
int x; scanf("%d",&x);
if(ans==x) cnt++;
else
if(cnt==0) ans=x,cnt++;
else cnt--;
}
因为众数的数量要大于(n/2),所以无论再怎么散,也至少有两个众数是连着的
以上是关于Luogu P2397 yyy loves Maths VI (mode)的主要内容,如果未能解决你的问题,请参考以下文章
题解Luogu P2397 yyy loves Maths VI (mode)