一、題目鏈接
? ? ? ? ? ? ? ? ? ? ? ??快樂(lè)數(shù)??
二、題目描述
?編寫一個(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。
如果這個(gè)過(guò)程 結(jié)果為?1,那么這個(gè)數(shù)就是快樂(lè)數(shù)。
如果 n 是 快樂(lè)數(shù) 就返回 true ;不是,則返回 false 。
示例 1:
輸入:n = 19
輸出:true
解釋:? ?12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
示例 2:
輸入:n = 2
輸出:false
提示:? 1 <= n <= 231 - 1
三、題目分析
? ? ??為了存儲(chǔ)不重復(fù)的元素,可以使用HashSet集合(可以使用其中的contains()方法來(lái)進(jìn)行條件判斷),再編寫一個(gè)函數(shù),用來(lái)求解該數(shù)值每一位的平方之和。
四、核心代碼實(shí)現(xiàn)
本文摘自 :https://blog.51cto.com/u