Perfect Square - The Coding Shala

Home >> Interview Questions >> Perfect Square

Check if a given number is perfect square or not

In this post, we will see how to check if a given number is a perfect square or not. Given a positive integer num, write a function that 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

Output: true

Example 2:

Input: 14
Output: false

Java Program to check a perfect square

Approach:
We can use a binary search to check if the given number is a perfect square or not instead of checking number one by one.
Java Code: 

class Solution {
    public boolean isPerfectSquare(int num) {
        if(num == 1) return true;
        int left = 1;
        int right = num/2;
        while(left < right){
            int mid = left + (right-left)/2;
            if((long)mid*mid == (long)num) return true;
            if((long)mid*mid > (long)num) right = mid-1;
            else left = mid+1;
        }
        if((long)right*right == (long)num) return true;
        return false;
    }
}


Other Posts You May Like
Please leave a comment below if you like this post or found some error, it will help me to improve my content.

Comments

Popular Posts from this Blog

Find Second Smallest Element in the Array - The Coding Shala

N-th Tribonacci Number Solution - The Coding Shala

Graph Representation using Adjacency Matrix - The Coding Shala

Java Program to Reverse a String using Stack - The Coding Shala

Java Method Overloading - The Coding Shala