leetcode刷題--Happy Number
求一個數是否是快樂數。所謂快樂數指該數字所有數位(digits)的平方和,得到的新數再次求所有數位的平方和,如此重複進行,最終結果必為1。
思路:不用看平方和為1時返回True,但是如何才能停止程式返回False呢?有個辦法就是當出現第二次一個平方和的結果時我們可以知道結果是個迴圈,那就可以判定為false了。 一般解法如下:
class Solution:
# @param {integer} n
# @return {boolean}
def find(self,n,reset):
re=0
m=n
while(1):
if m/10>0:
i=m%10
re += i*i
m=m/10
else:
re += m*m
break
if re == 1:
return True
elif re in reset:
return False
else:
reset.add(re)
return self.find(re,reset)
def isHappy(self, n):
reset=set()
return self.find(n,reset)
當然也可以利用python字串數字轉化的方法討巧下:
class Solution:
# @param {integer} n
# @return {boolean}
def find(self,n,reset):
re=0
m=n
for i in str(n):re += int(i)*int(i)
if re == 1:return True
elif re in reset:return False
else:
reset.add(re)
return self.find(re,reset)
def isHappy(self, n):
reset=set()
return self.find(n,reset)
相關文章
- leetcode刷題--Number of 1 BitsLeetCode
- leetcode刷題--Excel Sheet Column NumberLeetCodeExcel
- Leetcode 202 Happy Number Javascript 解決方案LeetCodeAPPJavaScript
- 202. Happy NumberAPP
- Q202 Happy NumberAPP
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- LeetCode刷題 堆LeetCode
- LeetCode 刷題—樹LeetCode
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- LeetCode刷題記錄LeetCode
- 如何使用leetcode刷題LeetCode
- leetcode刷題--Majority ElementLeetCode
- leetcode刷題--Count PrimesLeetCode
- leetcode刷題--Reverse BitsLeetCode
- leetcode刷題--Rotate ArrayLeetCode
- leetcode刷題--Count and SayLeetCode
- Leetcode刷題分類LeetCode
- Leetcode刷題準備LeetCode
- LeetCode刷題—陣列LeetCode陣列
- LeetCode 第 9 題(Palindrome Number)LeetCode
- LeetCode 第 65 題(Valid Number)LeetCode
- LeetCode 題解(252) : Find the Duplicate NumberLeetCode
- Leetcode刷題——求眾數LeetCode
- leetcode刷題筆記605LeetCode筆記
- Leetcode刷題系列彙總LeetCode
- leetcode刷題記錄 661~LeetCode
- LeetCode刷題之第701題LeetCode
- LeetCode 第 191 題 (Number of 1 Bits)LeetCode
- Leetcode已刷題目題解彙總LeetCode
- leetcode排序專題演算法刷題LeetCode排序演算法
- 用Rust刷leetcode第十題RustLeetCode
- 用Rust刷leetcode第八題RustLeetCode
- 用Rust刷leetcode第九題RustLeetCode
- 用 Rust 刷 leetcode 第五題RustLeetCode
- 用 Rust 刷 leetcode 第七題RustLeetCode