Leetcode: Happy Number
来源:互联网 发布:北京知金科技有限公司 编辑:程序博客网 时间:2024/06/13 02:38
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
hash table检查是否重复出现,可以查表避免乘法运算。
class Solution {public: bool isHappy(int n) { if (n <= 0) { return false; } int squareTable[] = {0, 1, 4, 9, 16, 25, 36, 49, 64, 81}; set<int> appearedNum; while (appearedNum.find(n) == appearedNum.end()) { appearedNum.insert(n); int result = 0; while (n != 0) { int lowestDigit = n % 10; n /= 10; result += squareTable[lowestDigit]; } n = result; } return (n == 1); }};
0 0
- [leetcode] Happy Number
- leetcode: Happy Number
- [LeetCode] Happy Number
- [LeetCode]Happy Number
- LeetCode 202 Happy Number
- LeetCode OJ Happy Number
- [LeetCode]202.Happy Number
- LeetCode 202-Happy Number
- leetcode-202 Happy Number
- [LeetCode]Happy Number
- leetcode 202: Happy Number
- leetcode Happy Number
- [LeetCode 202]Happy Number
- LeetCode (24) Happy Number
- LeetCode Happy Number 题解
- [LeetCode] Happy Number
- leetcode 202 Happy Number
- LeetCode Happy Number
- 20150805 (网页定位导航+瀑布流布局+信息排列)JS+JQuery+CSS3效果实现笔记
- 实现一边打包一边删除文件
- 比特币与拜占庭将军问题
- 上传本地项目至github
- VLC 2.2.1版本的全频和截图功能实现了
- Leetcode: Happy Number
- List总结
- Install Caffe on CentOS 6.5
- shell取 配置文件内 参数值
- 从Java视角理解CPU上下文切换(Context Switch)
- ext集成struts2的小demo
- Class.getSimpleName()的作用
- hdu4536
- LeetCode OJ Valid Anagram 字符串