题目描述

(查找类题目)
题解
python
class Solution:
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
ss = set();
while True:
if n == 1:
return True
total = 0
while n:
total += (n%10)*(n%10)
n = n//10
if total in ss:
return False
ss.add(total)
n = total
c++
class Solution {
public:
bool isHappy(int n) {
map<int, int> m;
while(true)
{
int sum = 0;
while(n)
{
sum += (n%10)*(n%10);
n = n/10;
}
if(sum == 1) return true;
else
{
n = sum;
m[sum]++;
}
if(m[sum]==2) return false;
}
}
};

本文介绍了一种用于判断快乐数的高效算法。快乐数是指将一个数的各位数字平方相加,重复此过程直到得到1的数。文章通过Python和C++实现,利用哈希集合或映射记录中间结果,避免重复计算,确保算法效率。
1023

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



