Happy Number 博客分类: Leetcode 哈希
程序员文章站
2024-03-18 09:28:52
...
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
题目中规定一个happy number的规则,我们借助于哈希表存储已经出现过的数字,如果计算的结果为1我们就返回true;如果计算出的结果不为1并且哈希表中已经存在这个数,就说明了它无限循环,我们返回false。代码如下:
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
题目中规定一个happy number的规则,我们借助于哈希表存储已经出现过的数字,如果计算的结果为1我们就返回true;如果计算出的结果不为1并且哈希表中已经存在这个数,就说明了它无限循环,我们返回false。代码如下:
public class Solution { public boolean isHappy(int n) { HashSet<Integer> set = new HashSet<Integer>(); int tem = n; while(true) { if(tem == 1) return true; if(set.contains(tem)) { return false; } else { set.add(tem); tem = getSquare(tem); } } } public int getSquare(int n) { int result = 0; while(n > 0) { result += (n % 10) * (n % 10); n /= 10; } return result; } }
推荐阅读
-
ruby数组和哈希学习笔记 博客分类: 基础学习 ruby数组哈希ArrayHash
-
Happy Number 博客分类: Leetcode 哈希
-
Word Pattern 博客分类: Leetcode 哈希字符串
-
FNV哈希算法 博客分类: 算法 算法hash哈希FNV
-
HashMap和Hashtable的比较 博客分类: Java基础 HashMapHashtable散列哈希java
-
EJB3.0 @Column设置precision和scale转换ORACLE中的Number(x,y) 博客分类: EJB3.0oracle EJBORACLE
-
有关一致性哈希算法的应用场景 博客分类: 技术 架构 一致性哈希算法负载均衡集群避免震荡
-
row_number(),rank(),dese_rank()区别 博客分类: hadoophive
-
LeetCode[链表] - #21 Merge Two Sorted Lists 博客分类: LeetCode LeetCodeJavaAlgorithm题解LinkedList
-
find the happy number 博客分类: 算法 javahappy numberalgorithm