69. x 的平方根
一、思想
二、代码实现
var mySqrt = function(x) {
// 对于小于等于1的数
if(x==0 || x==1) return x
// 对于大于1的数,使用二分查找,res是最后的结果
let low=1,high=x,res=-1
while(low<=high){
let mid = low + ((high-low)>>1)
// 将x和mid*mid进行比较,动态调整区间
if(mid*mid > x){
high = mid-1;
}else{
// 最后的结果res*res <= x,所以只有小于的时候,mid才有可能是res
res = mid;
low = mid+1;
}
}
return res;
};