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

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

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    char*str = (char*)malloc(sizeof(char)*20);
    char m[10] = {0};
    int nn = 0;
    scanf("%s",str);
    int hash[150];  //创建哈希表
    memset(hash, 0, sizeof(hash));
    int n=strlen(str);
    int i =0;
    for(i=0;i<n;i++)
    {
        hash[(int)str[i]] +=1;  //str[i]ASCII码为索引的hash表中数值加一,记录同一ASCII码字母的出现次数
    }
    int min = 30;
    for(i = 'a';i <='z';i++)
    {
        if(hash[i]<=min && hash[i]>0)
        {
            min = hash[i];      //寻找最少出现次数
        }
    }

    int flag = 0;
    for(i=0;i<n;i++)
    {
        if(hash[(int)str[i]] != min)  //如果hash[str[i]]的次数不为最小次数min,则输出
        {
            printf("%c",str[i]);
        }
    }
}

全部评论

相关推荐

04-27 08:59
常州大学 Java
牛客139242382号:《两门以上汇编语言》
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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