Skip to content
On this page

367. Valid Perfect Square share

Problem Statement:

Given a positive integer num, write a function which returns True if num is a perfect square else False.

Follow up: Do not use any built-in library function such as sqrt.

Example 1:

Input: num = 16
Output: true

Example 2:

Input: num = 14
Output: false

Constraints:

  • 1 <= num <= 231 - 1

Solution:

java
public boolean isPerfectSquare(int num) {
  if (num == 1)
    return true;
  long low = 1,
      mid = 0,
      high = num / 2;
  while (low <= high) {
    mid = low + (high - low) / 2;
    if (mid * mid == num)
      return true;
    else if (mid * mid < num)
      low = mid + 1;
    else
      high = mid - 1;
  }
  return false;
}

...


Released under the MIT License.