leetcode 633 平方數之和 (python)
阿新 • • 發佈:2019-01-01
給定一個非負整數 c
,你要判斷是否存在兩個整數 a
和 b
,使得 a2 + b2 = c。
示例1:
輸入: 5 輸出: True 解釋: 1 * 1 + 2 * 2 = 5
示例2:
輸入: 3 輸出: False
本題主要思想就是找到輸入值的平方根作為heigh,low為1,判斷heigh和low的平方和,大於輸入值則heigh--,小於low++,等於則返回真。程式碼如下
class Solution: def judgeSquareSum(self, c): """ :type c: int :rtype: bool """ if int(c**0.5) == c**0.5: return True else : heigh = int(c**0.5) low = 1 while low <= heigh: if low**2 + heigh**2 > c: heigh -= 1 elif low**2 + heigh**2 <c: low += 1 else : return True return False