题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
string str;
int min = 20;
cin >> str;
unordered_map<char, int> charMap;
for (auto it = begin(str); it != end(str); ++it) //第一次遍历字符串,记录到 map 中
{
if (charMap.count(*it))
charMap[*it]++;
else
charMap[*it] = 1;
}
for (auto it = begin(str); it != end(str); ++it) //第二次遍历,找出 min
{
if (charMap[*it] <= min)
min = charMap[*it];
}
for (auto it = begin(str); it != end(str); ++it) //第三次输出不匹配 min 的字符
{
if (charMap[*it] != min)
cout << *it;
}
cout << endl;
return 0;
}

