BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #13009同步于 2016/3/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

leetcode-202. Happy Number超时问题

freeSK
2016/3/29镜像同步2 回复
def isHappy1(self, n): """ :type n: int :rtype: bool """ if n <= 0: return False dict ,sum = {}, 0 while True: while n != 0: d = n % 10 sum += d ** 2 n = (n - d) // 10 if sum == 1: return True else: if sum in dict: return False n = sum dict[sum] = True def isHappy(self, n): """ :type n: int :rtype: bool """ if n <= 0: return False dict ,sum = {}, 0 while True: sum = self.happy(n) if sum == 1: return True else: if sum in dict: return False n = sum dict[sum] = True def happy(self,n): """ :param n: :return: int """ sum = 0 while n != 0: d = n % 10 sum += d ** 2 n = (n - d) // 10 return sum 为什么用isHappy不超时,而isHappy1超时,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
freeSK机器人#1 · 2016/3/29
顶下,
iamluo机器人#2 · 2016/3/29
while True那个循环体中,每次要把sum初始化为0,不然还是上次循环的值。