输入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;
}

浙公网安备 33010602011771号