Valid Perfect Square

By | June 30, 2016
Share the joy
  •  
  •  
  •  
  •  
  •  
  •  

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

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

Example 1:

Input: 16
Returns: True

Example 2:

Input: 14
Returns: False

Solution. An awesome solution is from here: n is perfect square if n = 1 + 3 + 5 + …. Below is the code:

public static boolean isPerfectSquare(int num) {
    int delta = 1;
    while (num > 0) {
        num -= delta;
        delta += 2;
    }
    return num == 0;
}