Skip to content

力扣链接: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;
}