HJ102 字符统计 C++实现

#include <iostream>

#include <string>

#include <map>

#include <vector>

#include <algorithm>

using namespace std;

int main() 

{

    string str = "";

    map<charint> strCountMap = {};

    while (cin >> str)  // 注意 while 处理多个 case

    {

        for (size_t i = 0; i < str.size(); i++) {

            auto iter = strCountMap.find(str[i]);

            if (iter == strCountMap.end()) {

                strCountMap.insert(std::pair<char,int>(str[i], 1));

            } else {

                iter->second += 1;

            }

        }

        // 对map中的元素按照个数进行降序排序

        std::vector<std::pair<charint>> resultVec(strCountMap.begin(), strCountMap.end());

        std::sort(resultVec.begin(), resultVec.end(),

            [](const std::pair<charintleft ,const std::pair<charintright) {

                if (left.second == right.second) {

                    return left.first < right.first;

                }

                return left.second > right.second;

        });

        for (auto iter : resultVec) {

            cout << iter.first;

        }

        cout << std::endl;

    }

    return 0;

}

全部评论
最近要开始刷题了。。。
点赞 回复 分享
发布于 2022-12-09 00:13 美国

相关推荐

缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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