Leetcode 202 Happy Number
来源:互联网 发布:手机自动关注软件 编辑:程序博客网 时间:2024/06/05 18:10
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
这个题我开始想着很简单= =做个递归就行了 写着写着不对劲。。。不知道怎么判断false= =。。。。
后来才发现false的情况是进入了死循环b( ̄▽ ̄)d
public class Solution { public boolean isHappy(int n) { if(n<=0) return false; long ln = n; Set<Long> set = new HashSet<Long>(); while(ln<=Integer.MAX_VALUE) { //这里的Integer_MAZ_VALUE是一个常数 if(set.contains(ln) ) return false; else set.add(ln); //注意returnfalse的情况是map里面出现了一样的数字 也就是死循环了 ln = digitSquare(ln); if(ln == 1) return true; } return false; } private long digitSquare(long ln) { long sum = 0; while(ln!=0) { sum += Math.pow(ln%10, 2); ln /= 10; } return sum; } }
0 0
- 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
- Happy Number - LeetCode 202
- 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
- 写一个通用的copy(String 原始路径,String 新路径),能复制所有文件,且名字和后缀名与源文件一致,在名字前拼接当前日期使用Scanner写入路径
- 深入理解HTTP协议
- Win10 开始屏幕,添加 指定文件 快捷方式
- 阿里java面试题
- sscanf和%n的用法回忆
- Leetcode 202 Happy Number
- leetcode (12) - INT TO ROMAN
- Codeforces Round #378 (Div. 2)B. Parade
- 文本框显示提示文字
- 巨坑练习题!!!—— Car的旅行线路
- JAVA计算2个日期相隔的自然月
- js function()
- TypeScript中文文档
- android6.0 开机启动流程