202. 快樂(lè)數(shù)

編寫(xiě)一個(gè)算法來(lái)判斷一個(gè)數(shù) n 是不是快樂(lè)數(shù)。

「快樂(lè)數(shù)」定義為:對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)字的平方和,然后重復(fù)這個(gè)過(guò)程直到這個(gè)數(shù)變?yōu)?1,也可能是 無(wú)限循環(huán) 但始終變不到 1。如果 可以變?yōu)? 1,那么這個(gè)數(shù)就是快樂(lè)數(shù)。

如果 n 是快樂(lè)數(shù)就返回 True ;不是,則返回 False 。

示例:

輸入:19
輸出:true
解釋:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/happy-number
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

    public boolean isHappy(int n) {

        int slow = n;
        int fast = getSquareNext(n);  //循環(huán) 快慢指針 總有相遇的一天

        while (fast != 1 && fast != slow) {
            slow = getSquareNext(slow);
            fast = getSquareNext(getSquareNext(fast));
        }

        return fast == 1;

    }


    // 計(jì)算  19=1*1+9*9=82
    public int getSquareNext(int n) {
        int sum = 0;

        while (n > 0) {
            int remainder = n % 10;
            n = n / 10;
            sum += remainder * remainder;
        }

        return sum;
    }

雙指針技巧總結(jié)

https://github.com/labuladong/fucking-algorithm/blob/master/%E7%AE%97%E6%B3%95%E6%80%9D%E7%BB%B4%E7%B3%BB%E5%88%97/%E5%8F%8C%E6%8C%87%E9%92%88%E6%8A%80%E5%B7%A7.md

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 編寫(xiě)一個(gè)算法來(lái)判斷一個(gè)數(shù) n 是不是快樂(lè)數(shù)。 「快樂(lè)數(shù)」定義為:對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)...
    放下梧菲閱讀 90評(píng)論 0 0
  • 202. 快樂(lè)數(shù)[https://leetcode-cn.com/problems/happy-number/] ...
    貓皮虎大人閱讀 233評(píng)論 0 0
  • 編寫(xiě)一個(gè)算法來(lái)判斷一個(gè)數(shù) n 是不是快樂(lè)數(shù)。 「快樂(lè)數(shù)」定義為:對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)...
    編程小王子AAA閱讀 92評(píng)論 0 0
  • 內(nèi)容 編寫(xiě)一個(gè)算法來(lái)判斷一個(gè)數(shù)是不是“快樂(lè)數(shù)”。 一個(gè)“快樂(lè)數(shù)”定義為:對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位...
    吃飯用盤(pán)裝閱讀 551評(píng)論 0 0
  • 快樂(lè)數(shù)」定義為:對(duì)于一個(gè)正整數(shù),每一次將該數(shù)替換為它每個(gè)位置上的數(shù)字的平方和,然后重復(fù)這個(gè)過(guò)程直到這個(gè)數(shù)變?yōu)?1,...
    窗外有小雨淅淅瀝瀝閱讀 201評(píng)論 0 0

友情鏈接更多精彩內(nèi)容