【题意】
从一串数中找出出现次数超过总数一半的数
【思路】
边读数字边判断,两数不同则抵消,剩下的数就是要求的数
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int m,n,cnt;
long long number,tmp;
cin >> m >> n;
cnt = 0;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cin >> number;
if(cnt==0){
cnt = 1;
tmp = number;
}
else if(number==tmp){
cnt++;
}
else{
cnt--;
}
}
}
cout << tmp;
system("pause");
return 0;
}