出现次数超过一半的数(c++题解)

题目描述

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

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

输入格式

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

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

输出格式

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

样例

样例输入

复制3
1 2 2

样例输出

复制2

_____________________________________________________________________________

日常发作业题解。 

也是简单到爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆表的题

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

没办法字数不够减流量~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

_____________________________________________________________________________

#include 
using namespace std;
int a[1000005];
int n,x,ans;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
   	    cin>>x;
   	    a[x]++;
   	    if(a[x]>n/2){
   	    	cout<

你可能感兴趣的:(c++,算法,数据结构)