题解 | #提取不重复的整数#

提取不重复的整数

https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

#include <stdio.h>
#include <math.h>
#include <string.h>
#include<stdlib.h>
int main() {
    char* num = malloc((int)pow(10, 8)*sizeof(char));
    scanf("%[^\n\t]",num);

    int base =0;
    int len = strlen(num);
    for(int i=len-1;i>=base;i--)
    {
        for(int j=i-1;j>=base;j--)
        {
            if(num[i]==num[j])
            {
                for(int k=j;k>0;k--)// 
                {
                    num[k]=num[k-1]; // 去重前移
                }
                len--;
                j++;
                base++;
            }
        }
    }

    for(int i=0;i<len;i++)
    {
        
        printf("%c",num[strlen(num)-1-i]);
    }
    free(num);

}

效率不是很高的一种方法,和另一位哥们有一些差别, 这里去重时前面的移动

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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