题解 | 删除字符串中出现次数最少的字符
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string str;
while (cin >> str) {
vector<int> count(26, 0);
for (int i = 0; i < str.length(); i++) {
count[str[i] - 'a' ]++;
}
int min = count[str[0] - 'a'];
for (int i = 0 ; i < 26; i++) {
if (min > count[i] && count[i] > 0) {
min = count[i];
}
}
for (int i = 0; i < str.length(); i++) {
if (count[str[i] - 'a'] > min) {
cout << str[i];
}
}
cout << endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")
vector<int> count(26, 0); 统计字符个数,可以用这个vector (26,0) 里面一共有26个位置,然后来计算每个字母出现的次数,这是一个不错的方法。或许必哈希表好用一点。
