当前位置 : 主页 > 编程语言 > python >

LeetCode Algorithm 202. 快乐数

来源:互联网 收集:自由互联 发布时间:2022-06-18
​​202. 快乐数​​ Ideas 快乐数的判断逻辑其实挺简单的,按照定义去循环执行就可以了。 关键是如果不是快乐数怎么结束循环。 我们猜测会有以下三种可能: 最终会得到 1 最终会进


​​202. 快乐数​​

Ideas

快乐数的判断逻辑其实挺简单的,按照定义去循环执行就可以了。

关键是如果不是快乐数怎么结束循环。

我们猜测会有以下三种可能:

  • 最终会得到 1
  • 最终会进入循环
  • 值会越来越大,最后接近无穷大
  • 其实我猜到了前两种情况,对于第三种情况,如果出现,那么这题就没法做了,既然这题能做,那就说明第三种情况不会出现。

    官方题解给的证明:

    LeetCode Algorithm 202. 快乐数_职场和发展

    Code

    Python

    class Solution:
    def isHappy(self, n: int) -> bool:
    visit = set()
    while n != 1 and n not in visit:
    visit.add(n)
    new = list(map(int, list(str(n))))
    for i, v in enumerate(new):
    new[i] = v ** 2
    n = sum(new)
    return n == 1


    if __name__ == '__main__':
    print(Solution().isHappy(19))



    上一篇:LeetCode Algorithm 268. 丢失的数字
    下一篇:没有了
    网友评论