欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

出现次数超过一半的数(信息学奥赛一本通-T1186)

发布时间:2025/3/17 编程问答 23 豆豆
生活随笔 收集整理的这篇文章主要介绍了 出现次数超过一半的数(信息学奥赛一本通-T1186) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

【题目描述】

给出一个含有n(0 < n ≤ 1000)个整数的数组,请找出其中出现次数超过一半的数。数组中的数大于-50且小于50。

【输入】

第一行包含一个整数n,表示数组大小;

第二行包含n个整数,分别是数组中的每个元素,相邻两个元素之间用单个空格隔开。

【输出】

如果存在这样的数,输出这个数;否则输出no。

【输入样例】

3
1 2 2

【输出样例】

2

【源程序】

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() {int a[101]={0};int n,b;int i;bool flag=false;cin>>n;for(i=0;i<n;i++){cin>>b;a[b+50]++;}for(i=0;i<100;i++){if(a[i]>=n/2){flag=true;cout<<i-50<<endl;}}if(flag==0)cout<<"no";cout<<endl;return 0; }

 

总结

以上是生活随笔为你收集整理的出现次数超过一半的数(信息学奥赛一本通-T1186)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。