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

相关推荐

书海为家:实习是成为大厂正式员工很好的敲门砖,看您的简历中有一段实习经历,挺好的。我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己实习时做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
点赞 评论 收藏
分享
02-25 13:02
中南大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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