LeetCode-Hash-202. Happy Number
来源:互联网 发布:网络角色去衣图 编辑:程序博客网 时间:2024/05/17 09:41
问题:https://leetcode.com/problems/happy-number/
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
分析:对于int类型的数,最大的值是UINT_MAX= 429496295,是一个十位数。按每位是9计算,则最大的各个位平方和是9*9*10=810,所以可以设一个长度为900的数组存储平方和的这个值。先计算n的平方和是多少,如果是0,返回false;如果是1返回true;如果是另外的值,就在设的那个数组里记下这个值出现过,则再计算这个值的平方和,依次循环下去,如果之后的平方和在数组里再次出现过,则永远不可能是happy number了,返回false.
C++代码:
class Solution {public: bool isHappy(int n) { int number[900] = {0}; if (n == 0) return false; if (n == 1) return true; int temp = n; int i=0; int sum = 0; while (1) { while (temp>=1) { int t = temp%10; temp = temp / 10; sum += t*t; } if (sum == 1) return true; if (number[sum] == 1) return false; else number[sum] = 1; temp = sum; sum = 0; } }};
- LeetCode-Hash-202. Happy Number
- [leetcode][hash][math] Happy Number
- [LeetCode]202.Happy Number
- 【LeetCode】202.happy number
- LeetCode 202. Happy Number
- [leetcode] 202.Happy Number
- 【leetcode】202. Happy Number
- [leetcode] 202. Happy Number
- 202. Happy Number LeetCode
- leetCode 202. Happy Number
- [LeetCode]202. Happy Number
- leetcode 202. Happy Number
- leetcode 202. Happy Number
- LeetCode *** 202. Happy Number
- leetcode 202. Happy Number
- leetcode 202. Happy Number
- LeetCode 202. Happy Number
- leetcode 202. Happy Number
- android 中singletask启动模式的 activity的刷新
- 字符串的压缩
- springMVC下的转发与重定向
- AndroidStudio遇到的java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessExce问题
- 工具类应用
- LeetCode-Hash-202. Happy Number
- linux 嵌入式开发板挂载NFS
- opencv中3D点根据相机参数投影成2D点+solvePnP函数计算相机姿态+2D坐标到3D+相机参数calibration(标定与配准,求得深度彩色相机的内参与外参,再进行配准)
- 第五天(JSP内置对象转发和重定向)
- Fragment嵌套Fragments及ViewPager预加载问题
- MySQL常用数据类型
- 数据结构实验之链表五:单链表的拆分
- Docker实践 - docker + svn + maven + tomcat 一键部署Java Web项目
- This app can’t run on your PC