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

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

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

#include <bits/stdc++.h>
#include <climits>
#include <linux/limits.h>
using namespace std;

int main() {
    string s;
    cin >> s;
    map<char, int> map;
    for(auto c : s){
        map[c]++;
    }
    int minCount = INT_MAX;
    for(const auto &pair : map){
        minCount = min(minCount, pair.second);
    }
     // 从原字符串中删除出现次数最少的字符
    for (auto it = s.begin(); it != s.end();) {
        if (map[*it] == minCount) {
            it = s.erase(it);
        } else {
            ++it;
        }
    }

    cout << s << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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