633. 平方數之和
- 題目描述
- 一、雙指針
題目描述
給定一個非負整數 c ,你要判斷是否存在兩個整數 a 和 b,使得 a2 + b2 = c 。
示例 1:
輸入:c = 5
輸出:true
解釋:1 * 1 + 2 * 2 = 5
示例 2:
輸入:c = 3
輸出:false
示例 3:
輸入:c = 4
輸出:true
提示:
0 <= c <= 231 - 1
LeetCode 633. 平方數之和
一、雙指針
class Solution:
def judgeSquareSum(self, c: int) -> bool:
"""雙指針"""
left, right = 0, int(c ** (1 / 2))
while left <= right:
target = left * left + right * right
if target < c:
left += 1
elif target > c:
right -= 1
else:
return True
return False