zoukankan      html  css  js  c++  java
  • 算法题


    目录

    一、算法题

    简单算法

    快乐数

    一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。

    示例:

    输入: 19
    输出: true
    解释:
    12 + 92 = 82
    82 + 22 = 68
    62 + 82 = 100
    12 + 02 + 02 = 1

    from functools import reduce
    class Solution:
        def isHappy(self, n: int) -> bool:
            v = set()
            status = self.is_one(n, v)
            if status is False:
                print("{}开心不起来".format(n))
                return False
            print("{}是开心数".format(n))
            return True
    
        def is_one(self, n, v):
            x = reduce(lambda x, y: x + y, [int(i) ** 2 for i in str(n)])
            if x == 1:
                return True
            if x in v:
                return False
            v.add(x)
            self.is_one(x, v)
    
    
    s = Solution()
    s.isHappy(500)
  • 相关阅读:
    元素查找
    寂寞的堆
    爱丽丝·玛格特罗依德
    排序的代价
    数字串
    我心永恒
    滑动窗口
    魔法猪学院
    曦皓的幸运数
    曦皓的旅游
  • 原文地址:https://www.cnblogs.com/zhangliang91/p/11437594.html
Copyright © 2011-2022 走看看