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

石家庄做网站电话wordpress插件破解下载地址

石家庄做网站电话,wordpress插件破解下载地址,什么网站能代做预算,seo推广渠道有哪些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.sczhlp.com/news/141136/

相关文章:

  • 网站服务器 免费凡客旗舰店
  • 介绍自己
  • pycharm更换国内源
  • 基于Python+Vue开发的反诈视频宣传管理系统源码+运行步骤
  • 0voice-2.2.1-服务器百万并发实现
  • 判断网站是什么系统做的网站怎么申请微信认证
  • 网站建设图库做百度seo
  • 做网络教育录播网站视频直播网站开发
  • 网站页面结构亚马逊网官网首页
  • 在哪个网站上做蓝思测评免费申请靓号
  • 外贸网站 语言wordpress评论ajax加载
  • 网站建设vpsflask网站开发视频
  • 珠海网站推广网站关键词怎样优化
  • 报纸网站建设校园网站建设申请
  • 学校网站开发实际意义边坝网站制作
  • wordpress 企业网站wordpress翻页代码
  • 门户网站定义app开发一般收费
  • 如何网站优化排名公司注册要求
  • 做付费推广哪个网站好杭州网站公司
  • 重庆平台网站建设企业太原网站制作优化seo
  • 网站之家如何一键建淘宝客网站
  • 简述建设一个网站的具体步骤6公司微网站建设方案
  • 泾阳网站建设公司网站开发建设费用
  • 济南网站建设yeptask网站是否必须做认证
  • 使用织梦系统建设网站南昌网站建设哪家比较好
  • 加强网站安全建设怎样手机网站建设
  • 帝国文章网站模板怎么开始啊
  • 爱聊网站新手学网站建设看什么书好
  • 微服务去掉认证的功能
  • INNER JOIN(JOIN), LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN