题解 | #提取不重复的整数#
提取不重复的整数
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之间即可
查看8道真题和解析