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

剑灵网站模板软文广告经典案例100字

剑灵网站模板,软文广告经典案例100字,.net手机网站源码下载,最新设计装修题目 69. x 的平方根 - 力扣(LeetCode) 思路 初始化搜索范围: 对于 x 0,直接返回 0 对于 x > 0,设置 left 1, right x 二分查找过程: 当 left ≤ right 时循环: 计算中点 mid le…

题目

69. x 的平方根 - 力扣(LeetCode)

思路

初始化搜索范围:

  • 对于 x = 0,直接返回 0
  • 对于 x > 0,设置 left = 1, right = x

二分查找过程:

  • 当 left ≤ right 时循环:
  • 计算中点 mid = left + (right - left) / 2
  • 比较 mid 与 x/mid 的关系(等价于比较 mid^2 与 x,但避免溢出)
  • 如果 mid > x/mid:说明 mid 太大,更新 right = mid - 1
  • 如果 mid < x/mid:说明 mid 太小,更新 left = mid + 1
  • 如果 mid = x/mid:找到精确平方根,直接返回 mid

处理非完全平方数:

  • 循环结束后,right 是小于等于平方根的最大整数
  • 返回 right 作为结果

关键技巧

避免整数溢出:

  • 使用 mid > x/mid 代替 mid^2 > x
  • 这种比较方式数学上等价,但避免了中间结果溢出

边界处理:

  • 特殊处理 x = 0 的情况
  • 初始化 right = x 而不是 x-1,确保覆盖所有可能值

返回值选择:

  • 循环结束时 left > right
  • right 指向小于等于平方根的最大整数
  • left 指向大于平方根的最小整数

时间和空间复杂度

  • 时间复杂度:O(log x),二分查找的标准复杂度
  • 空间复杂度:O(1),只使用常数额外空间

读者的错误写法

class Solution {
public:int mySqrt(int x) {int left = 0;int right = x-1;while(left <= right){int mid = left + (right-left)/2;if(mid*mid > x){right = mid-1;}else if(mid*mid < x){left = mid+1;}else if(mid*mid == x){return left;}}return left;}
};

初始化错误:

  • right = x-1 可能会导致问题。如果 x = 0,那么 right = -1,这是一个无效的索引。
  • 正确的初始化应该是 right = x,因为平方根不会超过 x 本身。

返回值错误:

  • 当找到 mid*mid == x 时,你返回的是 left 而不是 mid。
  • 应该返回 mid,因为 mid 是满足条件的值。

整数溢出风险:

  • 当 x 很大时,mid*mid 可能会导致整数溢出。
  • 应该使用 mid <= x/mid 进行比较,避免溢出。

循环结束后的返回值:

  • 循环结束后,你返回 left,但此时 left > right,left 指向的是第一个大于平方根的值。
  • 应该返回 right,因为 right 指向的是最后一个小于等于平方根的值。

正确写法

class Solution {
public:int mySqrt(int x) {int left = 1;int right = x;while(left <= right){int mid = left + (right-left)/2;if(mid > x/mid){right = mid-1;}else if(mid < x/mid){left = mid+1;}else if(mid == x/mid){return mid;}}return right;}
};
http://www.dtcms.com/wzjs/525796.html

相关文章:

  • 宠物美容网站建设的目的网站推广的常用方法有哪些?
  • 阿里云网站怎么备案域名解析网站优化推广方法
  • 营销网站建设的步骤公司网站建设方案
  • 深圳做企业网站的公司南宁百度推广代理公司
  • 塑料袋销售做哪个网站推广好北京营销推广公司
  • 信访网站建设方案免费搭建自己的网站
  • 公司网站做一下多少钱成都全网推广哪家专业
  • 青岛网站建设最便宜线下宣传渠道和宣传方式
  • wordpress空间 腾讯北京seo外包公司要靠谱的
  • 自做购物网站多少钱昆山网站建设
  • 哪些网站可以做外部锚文本深圳seo优化seo优化
  • 深圳手机端网站建设设计公司个人博客搭建
  • 南京搜必应网站优化莆田seo推广公司
  • 进销存管理系统免费版短视频seo系统
  • 屯溪网站建设龙岩seo
  • 一个完整的网站怎么做chrome浏览器官网入口
  • 网站主机托管南宁百度seo
  • div css网站重构第二版视频教程微商引流推广
  • 大连龙采做网站行不行h5制作
  • 兰州网站建设软文街
  • 网站建设流程案例广告门
  • 3d渲染网站建设googleplay安卓版下载
  • 新乡网站建设销售找客户最好的app
  • wordpress菜单css样式班级优化大师学生版
  • 产品线下推广方式都有哪些关键词搜索优化公司
  • 设计感超强的公司名字青岛seo网站建设公司
  • 电子商务这个专业好吗免费关键词优化工具
  • wordpress 版权seo外包服务方案
  • 网站装修的代码怎么做的google推广
  • 国内二级域名免费申请简单网站建设优化推广