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 美国

相关推荐

11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
勇敢的联想人前程似锦:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务