zoukankan      html  css  js  c++  java
  • Leetcode 202.快乐数 By Python

    编写一个算法来判断一个数是不是“快乐数”。

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

    示例:

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

    思路

    可以将数字n转换为字符串遍历一遍求出每位数字的平方,然后加起来得到新的n。比较不好处理的是变换次数上限要设置为多少合适,这里取了10可以通过

    代码

    class Solution(object):
        def isHappy(self, n):
            """
            :type n: int
            :rtype: bool
            """
            count = 10		#变换次数上限
            time = 0
            while n != 1:
                ans = 0
                for i in str(n):
                    ans +=  int(i)**2
                n = ans
                time += 1
                if time > count:
                    break
            return n==1
    如有转载,请注明出处QAQ
  • 相关阅读:
    DAY7-面向对象之封装
    Java遇到的问题、错误——持续更新
    008单例、继承、final
    java一些使用
    2.1端口扫描器
    PyCharm设置
    常用算法
    PyCharm最新2018激活码,最新方法
    004数组
    042多进程
  • 原文地址:https://www.cnblogs.com/MartinLwx/p/9797308.html
Copyright © 2011-2022 走看看