LeetCode202.快乐数java题解
- 人工智能
- 2025-09-16 08:39:01

leetcode /problems/happy-number/description/ 哈希表
class Solution { public boolean isHappy(int n) { if(n==1) return true; HashSet<Integer> set=new HashSet<>(); while(n!=1&&!(set.contains(n))){//没找到结果;没有重复出现过 set.add(n);//把这个数加到集合,也就是最初的数如果不是1也被加到集合了 int sum=count(n);//计算平方和 n=sum;//作为下一个数 } return n==1;//n=1说明找到了 } //计算数字的平方和 public int count(int n){ int sum=0; while(n!=0){ sum+=(n%10)*(n%10);//最后一位数的平方 n=n/10; } return sum; } } /* 在过程中,如果有算出的数重复出现, 那么每次出现这个数之后就是相同的过程循环,找不到答案了 */LeetCode202.快乐数java题解由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“LeetCode202.快乐数java题解”