题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
getline(cin,s);
map<char, int> m_map;
for(auto ss:s) {
if(m_map.find(ss) != m_map.end()) {
m_map[ss] += 1;
} else m_map[ss] = 1;
}
int min=20;
set<char> m_set;
for (auto pair : m_map) {
if(pair.second < min) {
min = pair.second;
m_set.clear();
m_set.insert(pair.first);
} else if(pair.second == min) {
m_set.insert(pair.first);
}
}
string ans;
for(auto sss:s) {
if(m_set.find(sss) == m_set.end()) ans+=sss;
}
cout <<ans;
return 0;
}
// 64 位输出请用 printf("%lld")
查看17道真题和解析