#删除字符串中出现次数最少的字符#huawei.no23-1
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <climits>
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
string str;
getline(cin, str);
unordered_map<char, int> map;
vector<char> array;
for (char& c : str) {
map[c]++;
}
int minCount = INT_MAX;
for(auto &pair : map){
if(pair.second < minCount){
minCount = pair.second;
}
}
string result;
for(char &c :str){
if(map[c] != minCount){
result += c;
}
}
cout << result << endl;
return 0;
}
// 64 位输出请用 printf("%lld")
我的思路很简单,但是重点是,如何找到哈希表中中second的最小值,然后再删除他,如果不删除,重新输出也行的。
