LeetcodeMay 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;
};






Comments