力扣链接:69.x 的平方根
难度:⭐
解题关键词:二分查找
解题思路:二分查找,从左到右找到数组中最后一个数,这个数的平方小于等于 x,那么就是它。
typescript
function mySqrt(x: number): number {
let left = 1;
let right = x;
let result = 0;
while (left <= right) {
const mid = Math.floor((right - left) / 2) + left;
const res = mid * mid;
if (res <= x) {
result = mid;
left = mid + 1;
} else {
right = mid - 1;
}
}
return result;
}