/*
题意:给一个列、行的二维矩阵,统计最多数字
解题:
1、用一个哈希二维数组呗,
2、但是如何统计最大呢,遍历?会超时吗,
learn && wrong:
1、iterator写错,以及两个冒号是放在变量前
2、题意很好,一个数字,一个映射次数,
3、查找,find跟end.()结合,这招出现很多次了
4、查找最大,max为0,然后it->second做比较
*/
#include <iostream>
#include <map>
#include <cstdio>
using namespace std;
int main()
{
int n,m,col;
scanf("%d%d", &n,&m); //行与列
map<int,int> count; //数字与出现的次数map映射
for(int i = 0;i < n;++i){
for(int j = 0;j < m;++j){
scanf("%d",&col); //输入数字
if(count.find(col) != count.end()) count[col]++; //若已经存在,则次数+1 !!!
else count[col] = 1; //若不存在,则次数置为1
}
}
int k = 0,max = 0; //最大数字以及出现的次数 !!!
for(map<int,int>::iterator it = count.begin();it != count.end();++it){
if(it->second > max){
k = it->first; //最大的数字
max = it->second; //出现的次数;
}
}
cout<<k<<endl;
return 0;
}
网友评论