【 每天学习一点算法 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)

相关推荐
绝世番茄2 分钟前
鸿蒙HarmonyOS ArkTS原生学习:缩放手势实现 PinchToZoom 深度解析
学习·华为·harmonyos·鸿蒙
a1117767 分钟前
SLAM 学习笔记(四)后端(KF BA)
笔记·学习
2301_8002561114 分钟前
数据结构基础期末复习例题
数据结构·算法
变量未定义~39 分钟前
单调栈-四元组问题
数据结构·算法
冷小鱼1 小时前
AI Agent 核心算法:任务规划(Planning)的深度技术解析
人工智能·算法·planning
六点_dn1 小时前
Linux学习笔记-chmod命令
linux·笔记·学习
MartinYeung51 小时前
[论文学习]揭示大语言模型智能体记忆模块中的隐私风险
人工智能·学习·语言模型
退休倒计时1 小时前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript
旖-旎1 小时前
《LeetCode 978 最长湍流子数组 || LeetCode 139 单词拆分》
c++·算法·leetcode·动态规划
cxr8281 小时前
第16章 跨域迁移与能力融合——从专家到通才
人工智能·算法·智能体·hermes