题目
解题思路
运用哈希表
将各个位数进行平方
将得到的数进行判断
如果为1输出True
如果不为1
判断是否重复了
如果重复输出False
如果没有重复
进行各个位数平方
反复以上操作
class Solution:
def isHappy(self, n: int) -> bool:
#将n的各个位数进行平方
def pownum(num):
numsum = 0
while num != 0:
i = num % 10
num //= 10
numsum = numsum + i ** 2
return numsumnumsum = pownum(n)
numset = set()
#判断numsum是否为快乐数
while numsum != 1:
if numsum in numset:
return False
else:
numset.add(numsum)
numsum = pownum(numsum)
return True
总结
这题主要考察哈希表
只要我们根据题目快乐数定义来写代码就行
我在写的时候将numsum写成了n
导致我第一次运行失败
下次应该好好检查代码