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

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

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")

全部评论

相关推荐

牛客60022193...:大厂都招前端,他们觉得AI能替代前端,可能他们公司吊打btaj吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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