输入n个整数,输出出现次数大于等于数组长度一半的数。

#include<iostream>
#include<vector>
using namespace std;
const int N = 10010;
/*
输入n个整数,输出出现次数大于等于数组长度一半的数。
*/
int main(){
    int n;
    vector<int> q;
    while(cin >> n){
        q.push_back(n);
    }
    int temp = q[0], count = 0;
    for(int i = 0; i < q.size(); i ++){
        if(q[i] == temp){
            count ++;
        }else{
            count --;
        }
        if(count == 0){
            temp = q[i];
            count = 1;
        }
    }
    int res = 0;
    for(int i = 0; i < q.size(); i ++){
        if(temp == q[i]) res ++;
    }
    if(res > q.size() / 2){
        cout << temp << endl;
    }else{
        cout << "不存在" << endl;
    }
    return 0;
}
posted @ 2021-11-20 15:47  xmubaron  阅读(87)  评论(0)    收藏  举报