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
Comments
Post a Comment