Skip to content

Latest commit

 

History

History

367 - Valid Perfect Square

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

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

Solutions:

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