一次過 Lintcode 488 快樂數

2021-08-20 20:35:09 字數 457 閱讀 3624

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

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

19 就是乙個快樂數。

1^2 + 9^2 = 82

8^2 + 2^2 = 68

6^2 + 8^2 = 100

1^2 + 0^2 + 0^2 = 1

使用hashset儲存已經出現過每個數字的平方和,用來判斷是否重複,若重複代表無限迴圈,返回false。

public class solution 

return true;

}private int helper(int n)

return res;

}}

一次過 Lintcode 496 玩具工廠

工廠模式是一種常見的設計模式。請實現乙個玩具工廠toyfactory用來產生不同的玩具類。可以假設只有貓和狗兩種玩具。toyfactory tf toyfactory toy toy tf.gettoy dog toy.talk wow toy tf.gettoy cat toy.talk meow...

一次過 Lintcode 956 資料分割

給出乙個字串str,你需要按順序提取出該字串的符號和單詞。樣例 1 輸入 str hi i am bye 輸出 hi i am bye 解釋 將符號和單詞分割。樣例 2 輸入 str ok yes 輸出 ok yes 解釋 將符號和單詞分割。樣例 3 輸入 str s 輸出 s 解釋 將符號和單詞分...

一次過 Lintcode 96 鍊錶劃分

給定乙個單鏈表和數值x,劃分鍊錶使得所有小於x的節點排在大於等於x的節點之前。你應該保留兩部分內煉表節點原有的相對順序。給定鍊錶1 4 3 2 5 2 null,並且 x 3 返回1 2 2 4 3 5 null 可將整個鍊錶先分離為兩個小的鍊錶。我們建立minlist和maxlist,分別儲存小於...