力扣 633. 平方数之和

题目

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

示例

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

输入:c = 3
输出:false

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-square-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法1:双指针

注意 long 型

Java实现
class Solution {
    public boolean judgeSquareSum(int c) {
        long l = 0, r = (long)Math.sqrt(c);
        while (l <= r) {
            long var = l * l + r * r;
            if (var == c) return true;
            else if (var > c) r--;
            else l++;
        }
        return false;
    }
}

力扣 633. 平方数之和

上一篇:逻辑运算符(LogicOperator)


下一篇:打酱油(201709-1)