package problems.medium;
/**
* Created by sherxon on 1/2/17.
*/
// this also can be solved using newtons method, MIT 6.006 lec 12-13
public class ValidPerfectSquare {
public boolean isPerfectSquare(int num) {
if(num<1)return false;
if(num==1)return true;
int temp=num;
long i=1;
long j=1;
while(temp>=1){
temp/=10;
j*=10;
}
while(i<=j){
long mid=i+(j-i)/2;
if(mid*mid==num)return true;
else if(mid*mid > num)j=mid-1;
else i=mid+1;
}
return false;
}
}