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

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

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

#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    vector<int> res(26, 0);
    for (char c : s) {
        res[c - 'a']++;
    }
    int min = 0;
    for (auto i : res) {
        if (min == 0 && i != 0)
            min = i;
        else {
            if (min > i && i != 0)
                min = i;
        }
    }
    vector<char> rc;
    for(int i = 0; i < res.size(); i++)
    {
        if(res[i] == min)
        {
            rc.push_back(i+'a');
        }
    }
    for(string::iterator it = s.begin(); it != s.end(); )
    {
        if(find(rc.begin(), rc.end(), *it) != rc.end())
        {
            it = s.erase(it);
        }
        else {
        it++;
        }
    }
    cout << s;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

09-28 22:01
已编辑
广西科技大学 IT技术支持
合适才能收到offe...:找桌面运维?
点赞 评论 收藏
分享
求求给个offer我...:有这60不如v我50
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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