迭代的用n的各位的平方和来代替n判断能否收敛到1。完全按照题目推下去,用一个list记录出现过的n,若再次出现意味着进入循环,返回false。否则收敛到1的时候返回true。
public class Solution {
public boolean isHappy(int n) {
List<Integer> ever = new ArrayList<Integer>();
while(n!=1)
{
if(ever.contains(n))
{
return false;
}
ever.add(n);
int temp=0;
while(n!=0)
{
int digit = n%10;
temp += digit*digit;
n = n/10;
}
n = temp;
}
return true;
}
}
本文介绍了一种用于判断快乐数的算法实现。通过迭代计算整数n的各位数字的平方和并检查是否能收敛到1来确定n是否为快乐数。采用列表记录历史计算结果避免重复计算,提高效率。
657

被折叠的 条评论
为什么被折叠?



