function mySqrt(x: number): number {
// if (x === 0) return 0
// if(x === 1) return 1
// for (let i: number = 1; i <= x / 2; i++) {
// if (i * i <= x && x < (i + 1) * (i + 1)) {
// return i
// }
// }
let left:number = 0
let right:number = x
while (left <= right) {
let mid:number = left + ((right - left) >> 1)//中间位置索引 x>>1 表示除以2并取整,缩小一下遍历的范围
if (mid * mid <= x) {
left = mid + 1
} else {
right = mid - 1
}
}
return right
};
// 示例 1:
// 输入:x = 4
// 输出:2
// 示例 2:
// 输入:x = 8
// 输出:2
// 解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。