LeetCode202.快乐数(Python)

  • Post author:
  • Post category:python



题目

d96553b1f72d46cca087609057624dc6.jpg


解题思路

运用哈希表

将各个位数进行平方

将得到的数进行判断

如果为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 numsum

numsum = 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


导致我第一次运行失败


下次应该好好检查代码


b200342fbf984be8b0d92fa6c91ee912.jpg



版权声明:本文为du157233767原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。