【 每天学习一点算法 2026/04/12】x 的平方根

每天学习一点算法 2026/04/12

题目:x 的平方根

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

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

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

作者:LeetCode

链接:https://leetcode.cn/leetbook/read/top-interview-questions-medium/xwrzwc/

来源:力扣(LeetCode)

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本来是没思路的,看到了官方题解的二分查找的题解,就瞬间知道了该怎么做了,就是在 1 ~ x 的范围内找平方等于x的数嘛,要注意的是小数只保留整数部分,所以我们需要找到平方等于 x 或者 平方小于 x 最靠后的数。

typescript 复制代码
function mySqrt(x: number): number {
  if (x <= 1) return x
  let left = 1, right = x / 2 // 目标值肯定是小于等于 2 / x 
  let res = 1
  while (left <= right) {
    const mid = Math.floor((left + right) / 2) // 取偏左的值
    if (mid * mid === x) {
      return mid // 找到平方根直接返回
    } else if (mid * mid > x) {
      right = mid - 1 // 目标值在左侧
    } else {
      left = mid + 1 // mid小于目标值
      res = mid // 记录当前的值,可能是最靠后的
    }
  }
  return res
};

题目来源:力扣(LeetCode)

相关推荐
bIo7lyA8v2 小时前
算法稳定性分析中的输入扰动建模的技术9
算法
CoderCodingNo2 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
sinat_286945192 小时前
AI Coding 时代的 TDD:从理念到工程落地
人工智能·深度学习·算法·tdd
ASKED_20193 小时前
从排序到生成:腾讯广告算法大赛 2025 baseline解读
人工智能·算法
阿杰学AI3 小时前
AI核心知识115—大语言模型之 自监督学习(简洁且通俗易懂版)
人工智能·学习·ai·语言模型·aigc·监督学习·自监督学习
田梓燊3 小时前
leetcode 160
算法·leetcode·职场和发展
_深海凉_3 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
hetao17338374 小时前
2026-04-09~12 hetao1733837 的刷题记录
c++·算法
九英里路4 小时前
OS学习之路——动静态库制作与原理
linux·学习·操作系统·unix·进程·编译·动静态库