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

提取不重复的整数

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

#include <stdio.h>

int main() {
    int num,count;
    int bits[10];
    int hash[10]={};
    scanf("%d",&num);
    count=0;
    for(int i=0;;i++){
        if(num>0){
            bits[i]=num%10;
            num/=10;
            hash[bits[i]]=1;
            count++;
        }
        else break;
    }
    for(int i=0;i<count;i++){
        if(hash[bits[i]]!=0){
            printf("%d",bits[i]);
            hash[bits[i]]=0;
        }
    }
    printf("\n");
    return 0;
}

按位获取数据,然后根据hash直接剔除重复的,因为每位的数据不超过10,所以存储的hash只需要在1-10之间即可

全部评论

相关推荐

铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
某牛奶:一觉醒来全球程序员能力下降200%,小伙成功scanf惊呆在座个人。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务