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

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

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) 将超过最小次数的字母全都按顺序打印输出;
全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务