Description
Given a non-negative integer c
, decide whether there're two integers a
and b
such that a2 + b2 = c
.
Example 1:
Input: c = 5 Output: true Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: c = 3 Output: false
Constraints:
0 <= c <= 231 - 1
Solution
Python3
class Solution:
def judgeSquareSum(self, c: int) -> bool:
left, right = 0, int(math.sqrt(c))
while left <= right:
curr = left * left + right * right
if curr == c:
return True
elif curr > c:
right -= 1
else:
left += 1
return False