首页 > 其他 > 详细

1.13.28

时间:2017-01-12 09:56:05      阅读:134      评论:0      收藏:0      [点我收藏+]

28:出现次数超过一半的数

描述

给出一个含有n(0 < n <= 1000)个整数的数组,请找出其中出现次数超过一半的数。

数组中的数大于-50且小于50。

输入第一行包含一个整数n,表示数组大小;
第二行包含n个整数,分别是数组中的每个元素,相邻两个元素之间用单个空格隔开。输出如果存在这样的数,输出这个数;否则输出no。样例输入

3
1 2 2

样例输出

2

来源习题(13-6)

 1 #include <cstdio>
 2 using namespace std;
 3 int a[1100],n,i=0,b[120];
 4 int main()
 5 {
 6     scanf("%d",&n);
 7     while(i<n)
 8     {
 9         scanf("%d",&a[i]);
10         b[a[i]+50]++;
11         i++;
12     }
13     for(i=0;i<110;i++)
14     if(b[i]>n/2)
15     {
16         printf("%d",i-50);
17         return 0;
18     }
19     printf("no");
20     return 0;
21     
22     
23 } 

 

1.13.28

原文:http://www.cnblogs.com/zby-ccsygz/p/6275152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!