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

自己可以做微网站吗苏州疫情最新通知

自己可以做微网站吗,苏州疫情最新通知,新开最好的传奇网站,wordpress+社交链接1. 题目解析 Leetcode链接:34. 在排序数组中查找元素的第一个和最后一个位置 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于找到给定目标值所在的数组下标区间,设计一个O(logn)的算法。 2. 算法原…

1. 题目解析

Leetcode链接:34. 在排序数组中查找元素的第一个和最后一个位置

这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。

核心在于找到给定目标值所在的数组下标区间,设计一个O(logn)的算法。


2. 算法原理

寻找左边界思路:

目标:找到数组中第一个大于或等于目标值的元素的索引。

特点

  • 左边区间 [left, resLeft - 1] 的所有元素都小于 target
  • 右边区间(包括 resLeft[resLeft, right] 的所有元素都大于等于 target

二分查找步骤

  1. 初始化 left 和 right 为数组的开始和结束索引。
  2. 计算中间索引 mid(注意向下取整)。
  3. 根据 arr[mid] 与 target 的关系,调整 left 或 right 的值。
    • 如果 arr[mid] < target,则更新 left = mid + 1
    • 如果 arr[mid] >= target,则更新 right = mid
  4. 重复步骤 2 和 3,直到 left > right
  5. 返回 left 或 right(取决于具体实现)。

注意:当 right = mid 时,应向下取整,以防止死循环。

寻找右边界思路:

目标:找到数组中最后一个大于或等于目标值的元素的索引。

特点

  • 左边区间 [left, resRight] 的所有元素都小于等于 target
  • 右边区间 [resRight + 1, right] 的所有元素都大于 target

二分查找步骤

  1. 初始化 left 和 right 为数组的开始和结束索引。
  2. 计算中间索引 mid(注意向上取整)。
  3. 根据 arr[mid] 与 target 的关系,调整 left 或 right 的值。
    • 如果 arr[mid] <= target,则更新 left = mid
    • 如果 arr[mid] > target,则更新 right = mid - 1
  4. 重复步骤 2 和 3,直到 left > right
  5. 返回 right 或 left(取决于具体实现)。

注意:当 right = mid 时,应向上取整,以防止死循环。

通过合理地调整 left 和 right 的值,二分查找可以高效地找到左边界和右边界。


3. 代码编写

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {int left = 0, right = nums.size() - 1, begin = -1, end = -1, mid;//找到区间左边界while(left<=right){mid = (left + right)/2;if(nums[mid] > target){right = mid - 1;}else if(nums[mid] < target){left = mid + 1;}else{begin = mid;right--;//right区间左移,使得mid左移,直到到达左区间边界,此时right正好和left重合}}left = 0, right = nums.size() - 1;//找到区间有边界while(left<=right){mid = (left + right)/2;if(nums[mid] > target){right = mid - 1;}else if(nums[mid] < target){left = mid + 1;}else{end = mid;left++;//left区间右移,使得mid右移,直到到达又区间边界,此时left正好和right重合}}return {begin,end};}
};

The Last

嗯,就是这样啦,文章到这里就结束啦,真心感谢你花时间来读。

觉得有点收获的话,不妨给我点个吧!

如果发现文章有啥漏洞或错误的地方,欢迎私信我或者在评论里提醒一声~

http://www.zhongyajixie.com/news/28142.html

相关文章:

  • 网站浮窗代码网络推广公司运作
  • 西安外贸网站建设自助建站系统哪个好
  • 七牛云wordpress加速百度cdnseo推广百度百科
  • 奉化建设局网站seo赚钱方式
  • 专业做网站 优帮云营销策划思路
  • 东圃那里有做网站设计的拓客最有效方案
  • 昆明做网站建设价位绍兴seo管理
  • 网站建设的总结与评价宜兴百度推广
  • 政府网站集约化建设讲座PPT宁波网站推广优化哪家正规
  • 网站监控 重启网络营销课程总结
  • 基于html5的网站开发seo在线培训机构
  • 常州营销型网站价格企业网站的推广方式和手段有哪些
  • 游戏门户网站建设品牌推广的方式
  • 1688网站店招怎么做网站网络优化外包
  • 智能做网站企业网站推广策略
  • 有什么国企是做网站的搜索引擎营销的基本方法
  • 中山建设银行招聘网站百度推广助手app
  • 网站正在建设中页面的英文推广游戏赚钱的平台有哪些
  • 网站建设与维护技术浅谈论文万能搜索引擎网站
  • 网站建设1000zhu网络营销案例ppt课件
  • 网站 换图片全网整合营销
  • 石材公司网站最大的中文搜索引擎
  • 惠州仲恺住房和城乡建设局网站百度公司总部在哪里
  • 原型图怎么做网站交互怎么收录网站
  • 国外免费二级域名注册网站搜索排名
  • 网站自己怎么建设高质量外链
  • 关于建设官方网站的申请seo查询seo
  • 建设银行房有e通网站网络热词2023流行语及解释
  • 临西做网站报价如何结合搜索检索与seo推广
  • 物流门户网站开发 报价小红书推广方案