文章

3

粉丝

132

获赞

1

访问

20.2k

头像
求众数题解[c++][map]
P1810 复旦大学2018年机试
发布于2021年9月7日 13:05
阅读数 8.2k

本文使用map存储各数字出现的次数,由于map的实现底层是红黑树,会自动根据key的大小来降序排列。因此当有两个众数时,排在前面的就是小的那个众数。

#include<iostream>
#include<string>
#include<map>

using namespace std;
int main() {
    map<int,int> res;
    int num = 0;
    scanf("%d", &num);
    for (int i = 0; i < num; i++) {
        int n;
        scanf("%d", &n);
        res[n]++;
    }
    int maxnum = 0;
    int maxkey = 0;
    for (map<int, int>::iterator it = res.begin(); it != res.end(); it++) {
        if (it->second > maxnum) {
            maxnum = it->second;
            maxkey = it->first;
       &...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发