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

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

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

#include <stdio.h>
#include <string.h>
#define Min(x,y) (x<y?x:y)

int main() {
    char str[21];
    scanf("%s",str);
    int t[21];
    for(int i=0;i<21;i++)
    {
        t[i]=1;
    }
    int m[21];
    for(int i=0;i<21;i++)
    {
        m[i]=1;
    }
    int l;
    l=strlen(str);
        for(int i=0;i<l;i++){
            for(int j=i+1;j<l;j++)
            {
                if((t[j]!=0)&&(str[i]==str[j]))
                {
                    t[i]++;
                    t[j]=0;
                }
            }
        }
    int min;
    min=20;
    for(int i=0;i<l-1;i++)
    {
        if(t[i]!=0&&t[i+1]!=0)
        {       int a;
                a=Min(t[i],t[i+1]);
                min=Min(min,a);
                }
            
        
    }
    for(int i=0;i<l;i++)
    {
        if(t[i]==min)
        {
            for(int j=0;j<l;j++){
                if(str[i]==str[j])
                {
                    m[j]=0;
                }
            }
        }
    }  
    for(int i=0;i<l;i++)
    {
        if(m[i]!=0)
        {
            printf("%c",str[i]);
        }
    }  

}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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