题解 | #删除字符串中出现次数最少的字符#

删除字符串中出现次数最少的字符

https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

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

int main() {
    std::string s;
    std::cin >> s;
    std::map<char, int> charsmap;
    for (int i = 0; i < s.size(); i++) {
        charsmap[s[i]] ++;
    }
    std::vector<std::pair<char, int>> charsvec(charsmap.begin(), charsmap.end());
    std::sort(charsvec.begin(), charsvec.end(), [](std::pair<char, int>&a, std::pair<char, int>& b){return a.second <= b.second;});
    int mintime = charsvec[0].second;
    for (auto i : charsvec) {
        if (i.second == mintime) {
            while (s.find(i.first) != std::string::npos) {
                s.erase(s.find(i.first), 1);
            }
        }
    }
    std::cout << s << std::endl;
    return 0;
   
}

全部评论

相关推荐

哈哈哈,你是老六:百度去年裁员分评不好,赶紧弄点红包
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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