1054 The Dominant Color

题目大意就是找到一些数中出现最多次数的数。

一开始把数的范围看成了242,用string和cin写了一遍,其中一个超时。。。

正准备改成scanf,发现是224,20分的题花了半个小时,被自己菜哭

用map存出现次数,再记录最大次数,用一个数组记录出现的数,找一遍即可。水题~

#include <iostream>
#include <string.h>
#include <cstdio>
#include <string>
#include <map>
using namespace std;
#define maxn 480005
map<int,int> ma;
int a[maxn];
int main()
{
    ma.clear();
    int m,n;
    int tt;
    scanf("%d%d",&m,&n);
    int p=0;
    int maxx=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&tt);
            if(ma[tt]==0)
                a[p++]=tt;
            ma[tt]++;
            maxx=max(maxx,ma[tt]);
        }
    }
    for(int i=0;i<p;i++)
    {
        if(ma[a[i]]==maxx)
        {
            printf("%d\n",a[i]);
            break;
        }
    }
}
View Code

 

posted on 2019-02-28 16:48  FTA_Macro  阅读(122)  评论(0编辑  收藏  举报

导航