码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-06-28 22:59:28      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:表示   add   时间   include   fine   限制   pre   std   class   

传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1186

 

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


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 5616     通过数: 2614

【题目描述】

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

【输入】

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

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

 

【输出】

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

【输入样例】

3
1 2 2

【输出样例】

2

#include<iostream>
using namespace std;
#define N 310
int n,a[N],ci;
bool ans=false;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>ci;
        a[ci+100]++;
    }
    for(int i=1;i<N;i++)
    {
        if(a[i]>(n/2))cout<<i-100<<endl,ans=true;
    }
    if(!ans)cout<<"no\n";
}

 

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

标签:表示   add   时间   include   fine   限制   pre   std   class   

原文地址:https://www.cnblogs.com/jzxnl/p/11104950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!