題解 LeetCode 202 快樂數

2021-10-23 17:48:53 字數 775 閱讀 6469

編寫乙個演算法來判斷乙個數n是不是快樂數。

「快樂數」定義為:對於乙個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 1,也可能是無限迴圈但始終變不到 1。如果可以變為1,那麼這個數就是快樂數。

如果n是快樂數就返回true;不是,則返回false

輸入:19

輸出:true

解釋:12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1

建立乙個列表用於存放出現過的數,如果有重複的返回false,因為有重複數字出現說明已經進入死迴圈了。

class

solution

:def

(self, n:

int)

->

bool

: lst =

while n !=1:

if n in lst:

return

false

sm =

0for i in

str(n)

: sm +=

int(i)**2

n = sm

return

true

Leetcode 202 快樂數(最詳細講解)

algorithm 乙個 快樂數 定義為 對於乙個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 1,也可能是無限迴圈但始終變不到 1。如果可以變為 1,那麼這個數就是快樂數。示例 輸入 19 輸出 true 解釋 12 92 82 1 2 9 2 82 12 ...

小白學習 leetcode 之202快樂數

編寫乙個演算法來判斷乙個數 n 是不是快樂數。快樂數 定義為 對於乙個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 1,也可能是 無限迴圈 但始終變不到 1。如果 可以變為 1,那麼這個數就是快樂數。如果 n 是快樂數就返回 true 不是,則返回 false...

LeetCode 第 202 場周賽 題解

思路 暴力 簽到題,暴力遍歷即可。class solution return false 複雜度分析 遍歷陣列,時間複雜度o n 沒有使用額外變數,空間複雜度為o 1 思路 數學 根據題意,可以直接將陣列以中心元素為對稱點,兩兩配對,操作的次數相同。所以只需要針對陣列長度奇偶進行分析即可。實現細節 ...