#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main() {
string s;
getline(cin, s);
// 统计每个字母的出现次数
vector<int> count(26, 0);
for (char c : s) {
count[c - 'a']++;
}
// 找出最小出现次数
int min = 21;
for (int i = 0; i < 26; i++) {
if (count[i] > 0 && count[i] <= min) {
min = count[i];
}
}
// 排除掉出现次数最小的字符并输出
for (char c : s) {
if (count[c - 'a'] > min) {
cout << c;
}
}
}
// 64 位输出请用 printf("%lld")
- 错误思路回顾:本题不用输入串字符流,因为没必要进行字符串分割。
- ASCII码:因为输入全是小写字母,统计时可以直接利用ASCII码。
- 注意边界值:注意求最小值的时候要限定不小于0的数作为最小值,因为可能有的字母出现0次。