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

提取不重复的整数

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之间即可

全部评论

相关推荐

07-02 13:52
武汉大学 golang
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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