【BZOJ】2456 mode(亂搞)
阿新 • • 發佈:2017-10-12
出現 include con ont num print ros most 空格
3 2 3 1 3
Description
給你一個n個數的數列,其中某個數出現了超過n div 2次即眾數,請你找出那個數。
Input
第1行一個正整數n。
第2行n個正整數用空格隔開。
Output
一行一個正整數表示那個眾數。
Sample Input
53 2 3 1 3
Sample Output
3HINT
100%的數據,n<=500000,數列中每個數<=maxlongint。
zju2132 The Most Frequent Number
----------------------------------------------------------------------
分析:這真是一道妙題啊。。。
1 #include <cstdio> 2 #include <algorithm> 3 using namespace std; 4 int main() 5 { 6 int a,tmp,n,num,f=0; 7 scanf("%d",&n); 8 for(int i=0;i<n;i++) 9 { 10 scanf("%d",&a); 11 if(f<=0) 12 { 13 f=1; 14 num=a; 15 continue; 16 } 17 if(a==num) f++; 18 else f--; 19 } 20 printf("%d",num); 21 return 0; 22 }
【BZOJ】2456 mode(亂搞)