0
点赞
收藏
分享

微信扫一扫

五一当然要快乐啊

微言记 2022-04-29 阅读 62

五一来了,我就送大家一个快乐数(🐶)

LeetCode 202: 快乐数

在这里插入图片描述
⭕️ 解题思路:
(1)此处采用哈希表来解决这个问题,准确来说是哈希集合 HashSet

  • 那么HashSetHashMap有什么区别呢?

(2)创建一个HashSet,用来存储数据
(3)设置一个单独的方法,根据当前的数计算下一个数
(4)通过while循环不断计算,如果当前数不为1并且没有在集合中出现过,就将这个元素添加到集合中,然后将当前这个数作为参数传入到计算下一个值的方法中,利用返回值来更新n
(5)最后返回n == 1,如果n为1就会返回true,如果n不为1就会返回false。
📖 代码部分:

class Solution {
    public static int getNextNumber(int n){
        //获取平方和之后的数
        int res = 0;
        while(n != 0){
            int temp = n % 10;
            res += temp * temp;
            n = n / 10;
        }
        return res;
    }
    public boolean isHappy(int n) {
        Set<Integer> record = new HashSet<>();

        while(n != 1 && !record.contains(n)){
            record.add(n);
            n = getNextNumber(n);
        }

        return n == 1;
    }
}

在这里插入图片描述

☀️ 祝愿大家每天都能有一个好心情,代码没bug,永远没有404.

举报

相关推荐

0 条评论