题解 | #字符统计#

字符统计

https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

sort 函数只能用于支持随机访问迭代器的容器,而 unordered_map 并不支持随机访问迭代器,因此不能直接对 u_map 进行排序。可以将 u_map 转化为 vector 容器后再进行排序。

#include <cctype>
#include <iostream>
#include<bits/stdc++.h>
#include <unordered_map>
#include <vector>
using namespace std;

int main() {
    string str;
    while (cin >> str) {
        set<char>m_set;
        unordered_map<char, int>u_map;
        for (auto& ch : str) {
            if (u_map.find(ch) == u_map.end()) {
                u_map.emplace(ch, 1);
            } else {
                u_map[ch]++;
            }

        }
        vector<pair<char, int>>vec(u_map.begin(), u_map.end());
        sort(vec.begin(), vec.end(),
        [](const pair<char, int>& a, const pair<char, int>& b) {
            if (a.second == b.second) {
                return a.first < b.first;
            } else
                return a.second > b.second;
        });
        for (auto& ch : vec) {
            cout << ch.first;
        }
    }

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-04 15:20
牛客61197583...:看到室友一个个没怎么学通过关系直接入职或者接到面试,真的很难受。八股不知道背了多少遍,hot100也刷了1.5遍了,但就是没有面试的机会,唉
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务