標籤:include eth equals blog set contains 迴圈 rmi star
202. 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
題意:
寫一個演算法來判斷一個數字是否“快樂”。
一個愉快的數字是由下面的流程定義的一個數字:從任何正整數開始,用它的數位平方代替數字,重複這個過程直到數字等於1(它將停留在哪裡),或者在一個不包括1的迴圈中迴圈。這個過程以1結尾的數字是快樂數字。
例子:19是一個快樂的數字。
1 public class Solution { 2 private int getHappyNumber(int n){ 3 int sum=0; 4 while(n!=0){ 5 sum+=(n%10)*(n%10); 6 n=n/10; 7 } 8 return sum; 9 }10 public boolean isHappy(int n) {11 HashSet<Integer> hash=new HashSet<Integer>();12 while(n!=1){13 if(hash.contains(n))14 return false;15 else{16 hash.add(n);17 n=getHappyNumber(n);18 }19 }20 return true;21 }22 }
202. Happy Number【leetcode】java,hashSet,演算法