题解 | #字符统计#

字符统计

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

#include <iostream>
#include<string>
#include<unordered_map>
#include<vector>
#include<algorithm>

using namespace std;

 struct  CharCount
{
    char ch;
    int num;
    CharCount(char c, int n) : ch(c), num(n) {}
};

int main()
{
    string input;
    getline(cin, input);

    unordered_map<char,int> m;

    for (char & i : input)
    {
        m[i]++;
    }


    vector< CharCount> vec;

    for (const auto& num : m)
    {
        vec.emplace_back(num.first, num.second);
    }

    sort(vec.begin(), vec.end(), [](const CharCount& c1,const CharCount& c2) {
        if (c1.num != c2.num)
        {
              return c1.num > c2.num; 
        }
        return c1.ch< c2.ch;
        });

        for (const auto& num : vec)
    {
        cout << num.ch << "";
    }

    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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