这道题题目同样还是应该反着来思考

当你在纠结应该怎样保存如果有多个最小次数的时候

你不妨反过来想,我只要知道最小次数是多少,如果遇到大于这个次数的,全部打印出来就完毕

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

void deleteMin(string s) {
    //vector数组初始化
    vector<int> hash(26,0);
    //找找出次数最少的
    for(int i = 0; i < s.size(); i++) {
        hash[int(s[i]-'a')]+=1;
    }

    int minnum = hash[s[0]-'a'];
    for(int j = 0; j < 26; j++) {
        if(minnum > hash[j] && hash[j] > 0) {
            minnum = hash[j];
        }
    }

    for(int k = 0; k < s.size(); k++) {
    	//在字符s[k]在hash表中出现的次数大于minum,说明s[k]出现的频数更高,那么打印出来
        if(hash[s[k] - 'a'] > minnum) {
            cout<<s[k];
        }
    }
}

int main() {
    string s;
    getline(cin,s);
    deleteMin(s);
    return 0;
}