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
bool isPerfectSquare(int num) {
if(num==0||num==1)
return true;
int left=1,right=num/2;
while(left<=right)
{
int mid=left+(right-left)/2;
if(mid==num/mid)
{
if(num%mid==0)
return true;
else
return false;
}
else if(num/mid<mid)
right=mid-1;
else
left=mid+1;
}
return false;
}