题目链接:https://www.patest.cn/contests/pat-a-practise/1054
题目大意:给m*n个数字,会有重复数字,找出其中个数超过半数的数字。使用map的方法:键为数字,值为个数。
#include <iostream>
#include <map>
using namespace std;
int main(int argc, char const *argv[])
{
int m,n;
cin>>m>>n;
map<int,int> count;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
int tmp;
cin>>tmp;
count[tmp]++;
if(count[tmp]>m*n/2){
cout<<tmp;
return 0;
}
}
}
return 0;
}