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

提取不重复的整数

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

解题思路:
既然是从右向左读取每一位上的数,可以采用取模和取商来获取“当前个位”上的数字和更新数字。每次将输入结果num % 10就可以获得当前num个位上的数字,实现从右向左;然后更新num = num / 10,这样下次取得“个位”,实际是之前的十位;依次类推,直到num=0,表示将所有位的数字都取出了。
将数字放到Set集合当中,这样可以避免重复,也是降重经常考虑的方式。

import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        Set<Integer> set = new HashSet<>();
        int count = 0;
        while(num != 0) {
            int last = num % 10;
            if(!set.contains(last)) {
                set.add(last);
                count = count * 10 + last;
            }
            num = num / 10;
        }
        System.out.println(count);
    }
}


全部评论

相关推荐

2025-12-17 17:53
门头沟学院 Web前端
海梨花:我之前面试也是问我非技术问题,问过我怎么统计北京出租车数量,不借助任何网络或者其他平台的帮助,有足够多的人可以帮忙
点赞 评论 收藏
分享
2025-11-23 15:33
已编辑
门头沟学院 Java
CUTMR:换账号试试重启推荐算法,我换账号之后回复率还不错,约莫有个20%左右的消息回复率,前几页、主动招呼的HR也开始符合我期望薪资,此前的大号从招呼、回复、前几页的岗位薪资在涨幅30%+以上 用着用着聊着聊着就变成-20%,而且我开通会员之后直接0面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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