P2397 yyy loves Maths VI (mode)
神奇的摩尔投票法(大雾)
保证众数个数大于一半。
两两相消,剩下的那个必定是众数。
我们只要开2个变量,一个存个数,一个存值即可。
(luogu的数据卡快读???)
luogu P2397 code:
1 #include<cstdio> 2 using namespace std; 3 int cnt,id,n,q; 4 int main(){ 5 scanf("%d",&n); 6 for(register int i=1;i<=n;++i){ 7 scanf("%d",&q); 8 if(!cnt) cnt=1,id=q; 9 else if(id==q) ++cnt; 10 else --cnt; 11 }printf("%d",id); 12 return 0; 13 }