当前位置: 首页 > news >正文

深圳深圳做网站长沙做网站哪里好

深圳深圳做网站,长沙做网站哪里好,做网站销售药品,discuz模板开发教程1. 题目链接 LeetCode 69. x 的平方根 2. 题目描述 给定一个非负整数 x,计算并返回 x 的平方根的整数部分(向下取整)。 示例: 输入:x 4 → 输出:2输入:x 8 → 输出:2&#xff0…
1. 题目链接

LeetCode 69. x 的平方根


2. 题目描述

给定一个非负整数 x,计算并返回 x 的平方根的整数部分(向下取整)。
示例

  • 输入:x = 4 → 输出:2
  • 输入:x = 8 → 输出:2(实际平方根为 2.828,取整数部分)。

3. 示例分析
  1. 目标值是完全平方数
    • x = 16 → 返回 4
  2. 目标值非完全平方数
    • x = 10 → 返回 33^2 = 9 ≤ 104^2 = 16 > 10)。

4. 算法思路

二分查找法

  1. 初始化指针left = 1right = x(处理 x = 0 的特殊情况直接返回 0)。
  2. 循环缩小范围
    • 计算中间值 mid = left + (right - left + 1) / 2向上取整,避免死循环)。
    • mid * mid ≤ x,说明目标在右半区间,调整 left = mid
    • mid * mid > x,说明目标在左半区间,调整 right = mid - 1
  3. 终止条件:当 left == right 时,返回 left(最大满足 k^2 ≤ x 的整数)。

5. 边界条件与注意事项
  1. 处理 x < 1:直接返回 0,避免进入循环。
  2. 溢出问题:中间值 mid 使用 long long 类型,防止 mid * mid 溢出。
  3. 循环终止条件:必须使用 mid向上取整,否则可能陷入死循环(例如 x = 2)。

6. 代码实现
class Solution 
{
public:int mySqrt(int x) {if(x < 1) return 0;int left = 1, right = x;while(left < right){long long mid = left + (right - left + 1) / 2;if(mid * mid <= x) left = mid;else right = mid - 1;}return left;}
};

在这里插入图片描述


暴力枚举法与二分查找法对比图表

对比维度暴力枚举法二分查找法
核心思想遍历 0√x,找到最大的 k 满足 k² ≤ x二分法缩小范围,定位最大满足 k² ≤ x 的整数。
时间复杂度O(√x)(需要遍历最多 √x 次)。O(log x)(每次将搜索范围缩小一半)。
空间复杂度O(1)(无需额外存储)。O(1)(仅需常数变量记录指针)。
实现方式单层循环逐个判断。循环调整左右指针,计算中间值并比较。
适用场景极小数据规模(x ≤ 1e3)。任意规模数据(尤其适合 x ≥ 1e6)。
优点实现简单,无需处理复杂边界条件。时间复杂度极低,适合处理大规模数据。
缺点数据规模大时性能极差(例如 x=1e18 时需 1e9 次操作)。需处理整数溢出和中间值取整逻辑。
http://www.dtcms.com/a/433470.html

相关文章:

  • 公明做企业网站安徽安庆邮编
  • 网站建设的定位是什么意思wordpress手机号登陆
  • 青岛网站公司厚街商城网站建设
  • 深圳营销型网站建设电话漳州网站建设 林
  • 站长之家下载湖州市南浔区建设局网站
  • 深圳极速网站建设报价google play商店
  • 哪里可以免费建设网站品牌建设计划书
  • 蒙古网站群建设餐饮网站建设服务器
  • 韩国设计app网站有哪些做网站行情
  • 5050众筹网站开发常德德山经开区建设局网站
  • 德化住房和城乡建设网站鄂州官方网站
  • 校园加盟网站建设超低价的锦州网站建设
  • 网泰网站建设wordpress打开邮箱
  • 潍坊网站开发公司班级网站首页怎么做
  • 做暧暧视频免费网站章丘网站优化
  • 专做化妆品的网站港南网站建设
  • 古典水墨网站遇到钓鱼网站怎么做
  • 深圳专业专业网站设计公司一般网站服务器
  • vi设计公司 焕识湖南关键词优化推荐
  • 网站建设word文档嵌入式软件开发工程师培训
  • 济南网站制作培训班成都市网站建
  • 网站设计属于什么经营范围多用户商城系统的效果
  • 郑州市建网站不得不知道网站
  • Tailwind预定义样式类(框架内置)(文本样式类、布局与间距类(弹性布局、网格布局)、颜色类、响应式设计类)任意值(Arbitrary Values)功能
  • 江西网站建设网络公司莱芜一中贴吧
  • 阿里巴巴网站备案网络公司是什么公司
  • 建设银行深圳天健世纪支行网站如何做宣传推广营销
  • 优化推广网站淄博seo在线网站推广
  • 东莞网站建设企业专门做dnf补丁的网站
  • iis搭建本地网站wordpress侧边栏导航代码