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

Openjudge 1.13-28:出现次数超过一半的数

时间:2016-12-29 23:30:10      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:turn   src   div   space   indicator   max   数组   tar   std   

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

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

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

输入
第一行包含一个整数n,表示数组大小;
第二行包含n个整数,分别是数组中的每个元素,相邻两个元素之间用单个空格隔开。
输出
如果存在这样的数,输出这个数;否则输出no。
样例输入
3
1 2 2
样例输出
2
还是一道水题,特水。。发出来就是证明我还活着。。
技术分享
#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

bool v[50001],vi[50001];
int cs[50001],scs[50001];
int a,n,i,j,maxn;
int main()
{
    cin>>n;
    for(i=0;i<n;++i)
    {
        cin>>a;
        cs[a+50]++;
    }
    int h=0;
    for(i=0;i<=100;++i)
    {
        if(cs[i]*2>n)
        {
            cout<<i-50<<" ";
            h++;
            return 0;
        }
    }
    if(!h)
    cout<<"no";
}
View Code

 

 

Openjudge 1.13-28:出现次数超过一半的数

标签:turn   src   div   space   indicator   max   数组   tar   std   

原文地址:http://www.cnblogs.com/ruojisun/p/6234984.html

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