解題思路:
(1)使用哈希表來保存每個字符出現的次數,最後取出現次數不是0並且不是最小出現次數的字符即可
#include <iostream>
#include <cstring>
#include <string>
using std::string;
using std::cin;
using std::cout;
using std::endl;
void getmin(int *a,int &min) {
for(int i=0;i<26;i++) if(a[i]!=0 && a[i]<min) min = a[i];
}
void print(const string &str,string &target,int *a,int &min) {
for(int i=0;i<str.length();i++) if(a[str[i]-'a']!=min&&a[str[i]-'a']!=0) target+=str[i];
cout<<target<<endl;
}
int main() {
int a[26]={};
int min=INT32_MAX;
string str,target;
while(getline(cin,str)) {
if(str=="") cout<<""<<endl;
else {
target = "";
memset(a,0,26*sizeof(int));
for(auto&& w:str) a[w-'a']++;
getmin(a,min);
print(str,target,a,min);
}
}
return 0;
}