删除字符串中出现次数最少的字符
题目描述
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述
删除字符串中出现次数最少的字符后的字符串。
输入样例
abcdd
输出样例
dd
测试代码
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 int main() 6 { 7 char str[21]; 8 int res[26]; 9 int len, i, min; 10 while (gets(str) != NULL) 11 { 12 memset(res, 0, sizeof(res)); 13 len = strlen(str); 14 min = 20; 15 for (i = 0; i < len; i++) 16 { 17 res[str[i] - 'a']++; 18 } 19 for (i = 0; i < len; i++) 20 { 21 if (min > res[str[i] - 'a']) 22 { 23 min = res[str[i] - 'a']; 24 } 25 } 26 for (i = 0; i < len; i++) 27 { 28 if (res[str[i] - 'a'] != min) 29 { 30 printf("%c", str[i]); 31 } 32 } 33 putchar('\n'); 34 } 35 return 0; 36 }

浙公网安备 33010602011771号