《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;

    }
}

相关推荐
NE_STOP2 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室7 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风9 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme9 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better9 小时前
学会与虚拟机对话---ASM
java
开源之眼11 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31612 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027313 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋13 小时前
DecimalFormat 与 BigDecimal
java·后端
beata13 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端