在20分内算是比较有难度了,可能也是思考比较绕弯。
想不到存两个数据的数组形式,只好又创建一个。800*600也比较大,不用存储。
#include "iostream"
#include "vector"
#include "string"
#include "cstring"
#include "queue"
#include "map"
using namespace std;
struct data1
{
int dig;
int num;
data1(int d, int n) :dig(d), num(n) {}
};
vector<data1> Result;
int main()
{
int M, N;
cin >> M >> N;
for (int i = 0; i < M*N; i++)
{
int temp;
cin >> temp;
int j = 0;
int k = Result.size();
for (; j < k; j++)
{
if (Result[j].dig == temp)
break;
}
if (j == k)
Result.push_back(data1(temp, 1));
else
Result[j].num++;
}
int i = 0;
data1 maxD(0,0);
for (; i < Result.size(); i++)
{
if (Result[i].num > maxD.num)
maxD = Result[i];
}
cout << maxD.dig;
}