题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
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")

