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