题解 | #删除字符串中出现次数最少的字符#

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

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

#include <stdio.h>

typedef struct {
    char c;
    int num, print_enable;
}str;

int main() {
    str str[20];
    int i = 0, j = 0, len = 0, min;
    while ((str[i].c =getchar()) != '\n') {
        str[i].num = 1;
        str[i].print_enable = 0;         //默认全部不打印
        i++;
    }
    len = i;
    for (i = 0; i < len; i++) {
        for (j = i+1; j < len; j++) {
            if (str[j].num != -1) {
                if (str[j].c == str[i].c) {
                    str[i].num++;
                    str[j].num = str[i].num;
                }
            }
        }
    }
    for (i = 0; i < len; i++) {
        for (j = 1; j < len; j++) {
            if (str[i].c!=str[j].c) {
                if (str[i].num > str[j].num) {  //只要出现次数有比我小的就将我的打印使能打开
                    str[i].print_enable = 1;
                }
            }
        }
    }
    for (i = 0; i < len; i++) {
        if (str[i].print_enable == 1) {
            printf("%c", str[i].c);
        }
    }
    return 0;
}

全部评论

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务