欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1054 The Dominant Color (20分)[map]

程序员文章站 2022-06-07 14:39:23
...

By Jalan

知识工具需求

数学

数据结构和算法

语言

题干

给m*n个像素点,统计出现最多的颜色

输入条件

m列,n行,
m*n个颜色

输出条件

最多的颜色

例子

例1

输入

5 3
0 0 255 16777215 24
24 24 0 0 24
24 0 24 24 24

输出

24

题解

第一次

思路

本来想的是hash散列做一下的,但是2^24范围还是太大了.又观察到mn范围都很小就用了map做了个统计.

预期时间复杂度

nmlognm

编写用时

8分钟

代码

CPP

#include <bits/stdc++.h>
#include <map>
#include <stdio.h>
#include <vector>

using namespace std;
vector<vector<int>> image;
int main(int argc, char const *argv[])
{
    int m,n;
    scanf("%d%d",&m,&n);
    image.resize(n);
    for (int i = 0; i < n; i++)
    {
        image[i].resize(m);
    }
    map<int,int> colorCounter;
    int colorTemp;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            scanf("%d",&colorTemp);
            image[i][j]=colorTemp;
            colorCounter[colorTemp]++;
        }

    }
    int max=-1;
    int maxcolor;
    for (auto &&i : colorCounter)
    {
        if (i.second>max)
        {
            max=i.second;
            maxcolor=i.first;
        }


    }
    printf("%d",maxcolor);
    return 0;
}

运行用时

1054 The Dominant Color (20分)[map]

结尾

看在我写了这么多注释的份上可以给我点个赞嘛,求求惹=]砰砰砰,给我加点写下去的油呀@aaa@qq.com
也欢迎关注我的CSDN账号呀,接下来两个月我应该会按这个格式更新所有的PTA甲级题目

                                        **开心code每一天**
相关标签: PTA甲级 STL题目