统计各个颜色出现的次数,出现次数最多的就是主颜色。
-
开一个哈希表,保存颜色出现的次数。h[i] 的含义是:编号为 i 的颜色出现次数。
-
读入一个颜色,该颜色出现的次数+1.
-
输出出现次数最多的颜色
给了颜色的范围,不会超过int的范围,所以哈希表为unordered_map[HTML_REMOVED] h。
#include <iostream>
#include <unordered_map>
using namespace std;
unordered_map<int , int > h;
int n, m;
int main()
{
cin >> n >> m;
int ans = 0;//保存出现次数最多的颜色
int cnt = 0;//该颜色的出现次数
for(int i = 0; i < n;i++)
{
for(int j = 0; j < m ; j++)
{
int k;
cin >> k;//读入一个颜色
h[k] ++;//颜色出现次数+1
if(h[k] > cnt)//如果读入的颜色出现次数比原来保存的颜色出现次数多,则更新
{
ans = k;
cnt = h[k];
}
}
}
cout << ans;
return 0;
}