202哈希表-快乐数

Posted 孤注一掷 、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了202哈希表-快乐数相关的知识,希望对你有一定的参考价值。

题目

思路

用哈希法判断这个sum是否重复出现,如果重复就返回false,否则一直找到sum为1为止。

求和的过程是对数对十取余,平方作和后除以十。

代码

class Solution 
    public boolean isHappy(int n) 
        Set<Integer> record = new HashSet<>();
        //如果不为1且set容器中不包含这个元素,则继续循环
        while(n != 1 && !record.contains(n))
            record.add(n);
            //求和过程
            n = getNextNumber(n);
        
        return n == 1;
    
    private int getNextNumber(int n)
        int res = 0;
        while(n > 0) 
            int temp = n % 10;
            res += temp * temp;
            n = n / 10;
        
        return res;
    

以上是关于202哈希表-快乐数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 202. 快乐数 Happy Number

[leetcode712]202. Happy Number判断快乐数字

202哈希表-快乐数

leetcode算法202.快乐数

LeetCode 202. 快乐数

[LeetCode] 202. 快乐数