leetcood学习笔记-202-快乐数

题目描述:

方法一:比较笨的办法,根据题意,如果变成1返回True,如果出现重复返回False 看到下面有位朋友用的是dict,我用了list,两个都跑了一下似乎list快一点?

class Solution:
    def isHappy(self, n: int) -> bool:
        l = []
        while True:
            l.append(n)
            n = sum(int(i)**2 for i in str(n))
            
            if n == 1:#n==1 和 n in l 的判断顺序不能相反  如:输入1
                return True
            elif n in l:
                return False

方法二:

法三:

class Solution:
    def isHappy(self, n: int) -> bool:
        #l = []
        while True:
            #l.append(n)
            n = sum(int(i)**2 for i in str(n))
            
            if n == 1:
                return True
            elif n == 4:
                return False

 

posted @ 2019-03-17 17:26  oldby  阅读(215)  评论(0编辑  收藏  举报