题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
/*
本质是统计字符串中各个字符的个数。
*/
#include <stdio.h>
int main(){
char str[20]; //存储字符串
while(scanf("%s",str) != EOF){
int len = strlen(str);
int a[27] = {0}; //记录26个字母出现的次数
int min = 100; //记最小频率
//求个字符频率
for(int i = 0; i < len; i++){
a[(int)(str[i]) - 96]++;
}
//求最小频率
for(int i = 1; i < 27; i++){
if(a[i] != 0){
if(min > a[i]) min = a[i];
}
}
//最小频率为min
for(int i = 0; i < len; i++){
int k = (int)(str[i]) - 96;
if(a[k] == 0 || a[k] == min) continue;
else printf("%c",str[i]);
}
printf("\n");
}
}
无
无