#删除字符串中出现次数最少的字符#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的最小值,然后再删除他,如果不删除,重新输出也行的。