LintCode - 快樂數(shù)(普通)

版權聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉載。

難度:容易
要求:

寫一個算法來判斷一個數(shù)是不是"快樂數(shù)"。
a
一個數(shù)是不是快樂是這么定義的:對于一個正整數(shù),每一次將該數(shù)替換為他每個位置上的數(shù)字的平方和,然后重復這個過程直到這個數(shù)變?yōu)?,或是無限循環(huán)但始終變不到1。如果可以變?yōu)?,那么這個數(shù)就是快樂數(shù)。

樣例

19 就是一個快樂數(shù)。

1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

思路

 /**
     * @param n an integer
     * @return true if this is a happy number or false
     */
    public boolean isHappy(int n) {
        // Write your code here
        HashSet<Integer> set = new HashSet<Integer>();        
        while(n != 1){
            if(!set.add(n)){
                return false;
            }
            n = getNext(n);
        }
        return true;
    }
    
    private int getNext(int n){
        int value = 0;
        while(n != 0){
            value += ((n % 10) * (n % 10));
            n /= 10;
        }
        return value;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 433.島嶼的個數(shù) (7.2) 給一個01矩陣,求不同的島嶼的個數(shù)。 0代表海,1代表島,如果兩個1相鄰,那么這兩...
    mytac閱讀 580評論 0 0
  • 題目 描述 寫一個算法來判斷一個數(shù)是不是"快樂數(shù)"。 一個數(shù)是不是快樂是這么定義的:對于一個正整數(shù),每一次將該數(shù)替...
    悠揚前奏閱讀 241評論 0 0
  • 有幸看到眼前這美景,好看到讓人想哭,你問我為什么不說話,我笑笑,欲言又止。不幸遇到失親之痛,悲痛到淚水肆意,你問...
    Chandesign閱讀 252評論 0 0
  • 自從2014那年谷歌提出的Material Design后,這種設計語言就廣泛被程序猿使用,屢試不爽。在現(xiàn)如今的各...
    下位子閱讀 13,210評論 48 75
  • 今天一天非常順暢,想什么來什么,早上輕松騎車買菜,回去下面便利店老板娘都說我好快,半小時搞定。再來是去到公交站搭車...
    甜心教主閱讀 237評論 0 0

友情鏈接更多精彩內容