<LeetCode><Easy> 203 Happy Number
2015-10-15 23:19
387 查看
Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle
which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example: 19 is a happy number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 =
1
1.经过最多16次迭代3位数可降为1位,最多17次迭代12位数可降为1位。剩下就是1位数的判断。
2. 数字1和7可以迭代到1,其他1位数经过非常少的迭代次数进入循环。
#Python2 52ms
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle
which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example: 19 is a happy number
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 =
1
1.经过最多16次迭代3位数可降为1位,最多17次迭代12位数可降为1位。剩下就是1位数的判断。
2. 数字1和7可以迭代到1,其他1位数经过非常少的迭代次数进入循环。
#Python2 52ms
class Solution(object): def isHappy(self, n): """ :type n: int :rtype: bool """ H=lambda x: sum(int(i)**2 for i in str(x)) while 1: if n>9: n=H(n) continue return n in [1,7]
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法