给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。
示例 1:
输入:c = 5
输出:true
解释:1 1 + 2 2 = 5
示例 2:
输入:c = 3
输出:false
/*** @param {number} c* @return {boolean}*/var judgeSquareSum = function (c) {// a2 + b2 = c,可知a、b的取值范围为[0, sqrt(c)];let l = 0, r = Math.ceil(Math.sqrt(c));while (l <= r) {let cur = l * l + r * r;// 相等直接返回trueif (cur === c) { return true; }// 当前值小于c,r--, 否则l++if (cur > c) { r -= 1; }else { l += 1; }}return false;};

