1. FlyPython首页
  2. 数据结构与算法
  3. leetcode题解

「LeetCode每日一题」—— 202. 快乐数

202. 快乐数

链接:https://leetcode-cn.com/problems/happy-number/
难度:简单

题目

点击原文链接跳转查看题目

思路

今天是四月最后的一题,持续两个月的打卡活动到这里就结束了。官方选这个题也是有意为之,祝大家五一快乐。

来看这道题,快乐数的定义把位置上的数平方和,直到变成1为止。这里也说了,可能有两种情况,无限循环和变为1。

那不断的计算,看是否循环,或者为1就可以判断是否为快乐数,代码见解决方案。

方案代码

解法方案:

class Solution:
    def isHappy(self, n: int) -> bool:
        visited = set()
        while n != 1 and n not in visited:
            visited.add(n)
            nxt = 0
            while n != 0:
                nxt += (n % 10) ** 2
                n //= 10
            n = nxt
        return n == 1
   

后续计划

每日一题目录:http://flypython.com/leetcode/

原创文章,作者:flypython,如若转载,请注明出处:http://flypython.com/algorithm/leetcode/362.html