题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <bits/stdc++.h>
using namespace std;
int main() {
string a;
while (cin >> a) {
map<char, int> umci;
for(const char e : a) {
if (umci.find(e) == umci.end()) {
pair<char, int> pr;
pr.first = e;
pr.second = 1;
umci.insert(pr);
} else {
umci[e]++;
}
}
// 字符指定总长度+1
int min = 21;
// 最少次数 min
for (const auto e : umci) {
min = std::min(min, e.second);
}
// get chars that second is min
for (auto it = umci.begin();it != umci.end();it++) {
if (min == it->second) {
char ch1 = it->first;
// 在字符串中删除指定字符的特定方式
a.erase(remove(a.begin(), a.end(), it->first), a.end());
}
}
cout << a << endl;
}
}
