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

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

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

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

typedef struct record {
    char ch;
    int num;
}record;

int main() {
    char ch;
    char input_str[21];
    int str_len = 0;
    record re_str[21];
    int re_len = 0;
    int i = 0;
    int sig = 0;
    int min = 0;
    int j;

    memset(input_str, 0, sizeof(input_str));
    memset(re_str, 0, 21 * sizeof(struct record));

    while ((ch = getchar()) != '\n')
    {
        if (str_len > 19)
        {
            break;
        }
        input_str[str_len] = ch;
        str_len++;
        for (i = 0; i < re_len; i++)
        {
            if (re_str[i].ch == ch)
            {
                re_str[i].num++;
                sig = 1;
            }
        }

        if (!sig)
        {
            re_str[re_len].ch = ch;
            re_str[re_len].num = 1;
            re_len++;
        }
        sig = 0;
    }

    min = re_str[0].num;
    for (i = 0; i < re_len - 1; i++)
    {
        if (re_str[i + 1].num < min)
        {
            min = re_str[i + 1].num;
        }
    }

    for (i = 0; i < str_len; i++)
    {
        for (j = 0; j < re_len; j++)
        {
            if ((input_str[i] == re_str[j].ch) && (min != re_str[j].num))
            {
                printf("%c", input_str[i]);
            }
        }

    }



    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务