题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
哈希表法:
#include <stdio.h>
int main()
{
char str[20] = {0};
int flag[26] = {0};
gets(str);
int len = strlen(str);
for(int i = 0; i < len; i++)
{
flag[str[i]-'a']++; //记录出现字符次数
}
int min = flag[str[0] - 'a'];//设第一个出现的字符最少
for(int i = 0; i < 26; i++)
{
if(min > flag[i] && flag[i] > 0)
{
min = flag[i];
}
}
for(int i = 0; i < len; i++)
{
if(flag[str[i] - 'a'] > min)
{
printf("%c", str[i]);
}
}
printf("\n");
return 0;
}