力扣https://leetcode-cn.com/problems/sqrtx/
给你一个非负整数 x
,计算并返回 x
的 平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
//二分法求 平方根
var mySqrt = function(x) {
let n =Math.ceil( x/2)
if(n===1) return n
let start=0,end=n
while(start<=end){
let mid = Math.ceil((start+end)/2)
let sum = mid * mid
let min = (mid - 1) * (mid - 1)
if(sum > x && min < x){
return mid-1
}else if(sum===x){
return mid
}
if(sum>x){
end=mid
}else{
start=mid
}
}
};