删除字符串中出现次数最少的字符

题目描述

  实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。

输入描述

  字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于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 }

 

posted @ 2016-05-23 10:45  新生代黑马  阅读(485)  评论(0)    收藏  举报