计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
const mySqrt = x => {
if(x == 0) return 0
let ans = parseInt(Math.exp(0.5 * Math.log(x)))
return (ans + 1) * (ans + 1) <= x ? ans + 1 : ans
}
const mySqrt = x => {
if (x < 2) return x
let left = 1, mid, right = Math.floor(x / 2);
while (left <= right) {
mid = Math.floor(left + (right - left) / 2)
if (mid * mid === x) return mid
if (mid * mid < x) {
left = mid + 1
}else {
right = mid - 1
}
}
return right
}