633

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。

示例1:

输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5

示例2:

输入: 3
输出: False

解法

  • Python
class Solution:
    def judgeSquareSum(self, c: int) -> bool:
        left,right = 0,int(c**0.5)

        while left<=right:
            if left**2+right**2>c:
                right -= 1
            elif left**2+right**2 == c:
                return True
            else:
                left += 1
        return False