hdu--1029 编程之美 在数组a中 (元素个数n n是奇数)找一个数字 它出现的次数大于(n+1)/2

Posted seek you

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu--1029 编程之美 在数组a中 (元素个数n n是奇数)找一个数字 它出现的次数大于(n+1)/2相关的知识,希望对你有一定的参考价值。

我为什么总是犯这些愚蠢错误啊,还是自己逻辑不够严谨。 努力ing......

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 using namespace std;
 6 typedef long long LL; 
 7 LL x; int n;
 8 int main ()
 9 {
10 
11     while (~scanf ("%d",&n) ) {
12         int sum=0; LL ans;
13         for (int i=1;i<=n;i++) {
14             scanf ("%lld",&x);
15             if (sum==0) {
16                 ans=x;
17                 sum++;  // 易错  我是太蠢了嘛。。。
18             }
19             else {
20                 if (x==ans) sum++;
21                 else        sum--;
22             }
23         }
24         printf ("%lld\n",ans);
25     }
26     return 0;
27 }

 

以上是关于hdu--1029 编程之美 在数组a中 (元素个数n n是奇数)找一个数字 它出现的次数大于(n+1)/2的主要内容,如果未能解决你的问题,请参考以下文章

HDU1029:Ignatius and the Princess IV(找出数组中出现次数超过一半的数字)

hdu1029 Ignatius and the Princess IV

hdu-1029 Ignatius and the Princess IV

编程之美数组分割

编程之美快速寻找满足条件的两个数

编程之美2.14 求数组的子数组之和的最大值