题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include<stdio.h>
#include<string.h>
int main(){
char str[21]={'\0'};
int table[26]={0};//26个英文字母
scanf("%s",str);
//记录26个英文字母在给定字符串中是否出现,出现了几次
for(int i=0;i<strlen(str);i++){
int inter=str[i]-'a';
table[inter]++;
}
//找出最少的出现次数min
int min=20;
for(int i=0;i<26;i++){
if(table[i]!=0&&table[i]<min)
min=table[i];
}
//输出出现次数大 于 min 的字母
for(int i=0;i<strlen(str);i++){
if(table[str[i]-'a']>min)
printf("%c",str[i]);
}
}
int main(){
char str[21]={'\0'};
int table[26]={0};//26个英文字母
scanf("%s",str);
//记录26个英文字母在给定字符串中是否出现,出现了几次
for(int i=0;i<strlen(str);i++){
int inter=str[i]-'a';
table[inter]++;
}
//找出最少的出现次数min
int min=20;
for(int i=0;i<26;i++){
if(table[i]!=0&&table[i]<min)
min=table[i];
}
//输出出现次数大 于 min 的字母
for(int i=0;i<strlen(str);i++){
if(table[str[i]-'a']>min)
printf("%c",str[i]);
}
}