题解 | #密码验证合格程序#

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

http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

#include <stdio.h>
#include <string.h>

static char g_input[21] = {0};
static char g_acount[26] = {0};
int main()
{
    while(gets(g_input) != NULL) {
        int i, j, k = strlen(g_input);
        memset(g_acount, 0, 26);

        for(int i = 0; i < k; i++) g_acount[g_input[i] - 'a']++; j = 20;
        for(int i = 0; i < 26; i++) if((g_acount[i]) && (g_acount[i] < j)) j = g_acount[i];
        for(int i = 0; i < k; i++) if (g_acount[g_input[i] - 'a'] > j) putchar(g_input[i]); putchar('\n');
    }
    return 0;
}
代码执行:
(1) 统计 26 个字母各自出现的次数;
(2) 对于出现的字母(非零次),找到一个最小的“次数”值 j ;
(3) 将超过最小次数的字母全都按顺序打印输出;
全部评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
牛客162194370号:
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务