Leetcode•May 10, 2025
Sum of Square Numbers
Hazrat Ali
Leetcode
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
Solution
/**
* @param {number} c
* @return {boolean}
*/
const judgeSquareSum = c => {
if (c < 0) {
return false;
}
let lo = 0;
let hi = Math.floor(Math.sqrt(c));
while (lo <= hi) {
const cur = lo * lo + hi * hi;
if (cur < c) {
lo++;
} else if (cur > c) {
hi--;
} else {
return true;
}
}
return false;
};