https://leetcode.cn/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;}
}
/*
在過程中,如果有算出的數重復出現,
那么每次出現這個數之后就是相同的過程循環,找不到答案了
*/