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

政务网站的建设原则seo助理

政务网站的建设原则,seo助理,网页制作免费版,网站侧边菜单题目 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 思路 初始化左右指针&#xff1a;left 0, right nums.size() - 1 当 left < right 时&#xff0c;循环执行&#xff1a; 计算中间索引&#xff1a;mid left (right - left) / 2 比较 nums[mid] 与 tar…

题目

704. 二分查找 - 力扣(LeetCode)

思路

初始化左右指针:left = 0, right = nums.size() - 1

当 left <= right 时,循环执行:

  • 计算中间索引:mid = left + (right - left) / 2
  • 比较 nums[mid] 与 target:
  • 若相等,返回 mid(找到目标)
  • 若 nums[mid] < target,更新 left = mid + 1(目标在右半部分)
  • 若 nums[mid] > target,更新 right = mid - 1(目标在左半部分)

若循环结束仍未找到目标,返回 -1

过程

以 nums = [-1, 0, 3, 5, 9, 12], target = 9 为例:

初始状态:

索引:  0   1   2   3   4   5
数组: [-1,  0,  3,  5,  9, 12]left         mid        right↓            ↓          ↓0            2          5

 第一次迭代:

  • mid = 0 + (5-0)/2 = 2
  • nums[mid] = 3 < 9
  • 目标在右侧,更新 left = mid + 1 = 3
索引:  0   1   2   3   4   5
数组: [-1,  0,  3,  5,  9, 12]left  mid  right↓     ↓    ↓3     4    5

第二次迭代:

  • mid = 3 + (5-3)/2 = 4
  • nums[mid] = 9 == 9
  • 找到目标,返回 mid = 4

关键点

  1. 循环条件:left <= right 确保所有元素都被检查
  1. 中点计算:mid = left + (right - left) / 2 避免整数溢出
  1. 区间更新:
  • left = mid + 1(排除中点及左侧)
  • right = mid - 1(排除中点及右侧)
  1. 终止条件:找到目标或 left > right(搜索区间为空)

时间与空间复杂度

O(log n),每次迭代将搜索空间减半

O(1),只使用常数额外空间

读者可能出现的错误写法

class Solution {
public:int search(vector<int>& nums, int target) {int left = 0;int right = nums.size()-1;while(left < right){int mid = left + (right-left)/2;if(mid < target){left = mid+1;}if(mid > target){right = mid-1;}else{return mid;}}return -1;}
};

 在条件判断中,你比较的是 mid 与 target,但应该比较的是 nums[mid] 与 target。mid 只是索引值,而不是数组中的元素值。

if-if-else 结构有问题。第二个 if 应该是 else if,否则当 mid < target 时,会同时执行第二个条件判断,可能导致错误的结果

循环条件是 while(left < right),这可能会导致某些情况下漏检查一个元素。

当 left == right 时,循环会终止,但此时还有一个元素(nums[left] 或等价的 nums[right])没有被检查。如果目标值恰好在这个位置,算法会错误地返回 -1。

正确的写法

class Solution {
public:int search(vector<int>& nums, int target) {int left = 0;int right = nums.size()-1;while(left <= right){int mid = left + (right-left)/2;if(nums[mid] < target){left = mid+1;}else if(nums[mid] > target){right = mid-1;}else{return mid;}}return -1;}
};
http://www.hkea.cn/news/145791/

相关文章:

  • 申请做网站 论坛版主惠州seo外包服务
  • 网站照片上传不了域名解析ip
  • 胖小七网站建设2022最新国际新闻10条简短
  • wordpress 网站备份厦门seo外包服务
  • 网站建设及推广培训杭州百度快照优化排名
  • 简单手机网站开发软件关键词排名代发
  • visio画网站开发类图注册域名后怎么建网站
  • 道里网站运营培训北京网络营销咨询公司
  • 目前做网站流行的语言seo关键词排名优化哪家好
  • 长沙营销型网站制作费用seo图片优化
  • 学生诚信档案建设网站seo数据分析
  • 北京住房城乡建设厅网站首页1688官网入口
  • 网站建设需要懂什么软件徐州百度seo排名优化
  • wordpress网站样式网站排名查询
  • 郑州网站建设推销外贸网站推广与优化
  • 当当网站开发系统说明搜索引擎排名google
  • 国外男女直接做的视频网站企业邮箱登录入口
  • 成都可以做网站的公司百度手机助手最新版下载
  • 赤峰网站建设招聘市场营销互联网营销
  • 网站开发后端需要哪些技术友情链接检索数据分析
  • 金华竞价排名 金华企业网站建设常见的网络营销平台有哪些
  • p2p网站开发关键词seo是什么意思
  • 自己免费怎么制作网站合肥今天的最新消息
  • 今日头条新闻10条简短seo网络优化招聘信息
  • 赣州人才网官方网站关键词seo优化软件
  • cad做兼职区哪个网站郑州网络营销公司排名
  • 宁夏银川做网站的公司有哪些网络营销分类
  • 换物网站为什么做不起来中国免费广告网
  • 可以显示一张图片的网站怎么搭建搜索引擎优化策略
  • 精品课程网站建设论文今天的新闻最新消息