《LeetCode力扣练习》代码随想录——哈希表(快乐数---Java)

《LeetCode力扣练习》代码随想录------哈希表(快乐数---Java)



刷题思路来源于 代码随想录

202. 快乐数
Set哈希表------空间复杂度: O(logn)
java 复制代码
class Solution {
    public boolean isHappy(int n) {

        if(n==1){
            return true;
        }

        Set<Integer> hashSet=new HashSet<>();
        hashSet.add(n);

        while(n!=1){

            n=getSum(n);

            if(hashSet.contains(n)){
                return false;
            }

            hashSet.add(n);

        }

        return true;

    }

    private int getSum(int n){

        int result=0;

        while(n!=0){

            int temp=n%10;
            result=result+(temp*temp);
            n=n/10;

        }

        return result;

    }
}
快慢指针------空间复杂度: O(1)
java 复制代码
class Solution {
    public boolean isHappy(int n) {

        if(n==1){
            return true;
        }

        int slow=getSum(n);
        int fast=getSum(getSum(n));

        while(slow!=fast){

            if(fast==1){
                return true;
            }

            slow=getSum(slow);
            fast=getSum(getSum(fast));

        }

        return fast==1?true:false;

    }

    private int getSum(int n){

        int result=0;

        while(n!=0){

            int temp=n%10;
            result=result+(temp*temp);
            n=n/10;

        }

        return result;

    }
}

相关推荐
小白|2 分钟前
cmake:昇腾CANN构建系统完全指南
java·c++·算法
weixin_512976178 分钟前
Java 面试宝典 Beta5.0
java
Ting-yu10 分钟前
Spring AI Alibaba零基础速成(5) ---- Memory(记忆)
java·人工智能·后端·spring
月落归舟13 分钟前
一文掌握Spring AOP:从入门到底层原理
java·后端·spring
QuZhengRong16 分钟前
【Luck-Report】缓存
java·前端·后端·vue·excel
XiYang-DING28 分钟前
【Spring】SpringMVC
java·后端·spring
想学习java初学者29 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠30 分钟前
2 快速入门实战指南
java·后端
日月云棠31 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
叶小鸡36 分钟前
小鸡玩算法-力扣HOT100-动态规划(上)
算法·leetcode·动态规划