Skip to content
On this page

69. Sqrt(x)

原题链接:LeetCode 69. Sqrt(x)

题目描述

给你一个非负整数 x ,计算并返回 x算术平方根

由于返回类型是整数,结果只保留 **整数部分 **,小数部分将被 舍去 。

**注意:**不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5

示例 1:

**输入:**x = 4 **输出:**2

示例 2:

**输入:**x = 8 **输出:**2 **解释:**8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

0 <= x <= 231 - 1

难度: Easy


题解代码

javascript
/**
 * @param {number} x
 * @return {number}
 */
 var mySqrt = function(x) {
  let res = 0
  let left = 0, right = x
  while (left <= right) {
      const mid = left + Math.floor((right - left) /  2)
      if (mid * mid <= x) {
          left = mid + 1
          res = mid
      } else {
          right = mid - 1
      }
  }
  return res
};

技术文档集合