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

网站建设功能覆盖范围做医学期刊杂志网站

网站建设功能覆盖范围,做医学期刊杂志网站,铜陵建设行业培训学校网站,网站主办者有效证件电子件题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&#xf…

题目

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

示例 1:

输入:nums = [5,7,7,8,8,10], target = 8

输出:[3,4]

示例 2:

输入:nums = [5,7,7,8,8,10], target = 6

输出:[-1,-1]

示例 3:

输入:nums = [], target = 0

输出:[-1,-1]

来源:力扣热题100 34. 在排序数组中查找元素的第一个和最后一个位置


思路(注意事项)


纯代码

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {vector<int> ans;int n = nums.size();if (n == 0) return {-1, -1};int l = 0, r = n - 1;while (l < r){int mid = l + r >> 1;if (nums[mid] >= target) r = mid;else l = mid + 1;}if (nums[r] == target) ans.push_back(r);else {ans.push_back(-1);ans.push_back(-1);return ans;}l = 0;r = n - 1;while (l < r){int mid = l + r + 1 >> 1;if (nums[mid] <= target) l = mid;else r = mid - 1;}ans.push_back(r);return ans;}
};

题解(加注释)

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {vector<int> ans;  // 存储结果的数组int n = nums.size();  // 数组的长度// 如果数组为空,直接返回 {-1, -1}if (n == 0) return {-1, -1};// 第一次二分查找:查找 target 的起始位置int l = 0, r = n - 1;  // 初始化左右指针while (l < r) {int mid = l + r >> 1;  // 计算中间位置if (nums[mid] >= target) r = mid;  // 如果中间值大于等于 target,缩小右边界else l = mid + 1;  // 否则缩小左边界}// 检查是否找到 targetif (nums[r] == target) ans.push_back(r);  // 如果找到,将起始位置加入结果else {ans.push_back(-1);  // 如果没找到,返回 {-1, -1}ans.push_back(-1);return ans;}// 第二次二分查找:查找 target 的结束位置l = 0;  // 重置左指针r = n - 1;  // 重置右指针while (l < r) {int mid = l + r + 1 >> 1;  // 计算中间位置(注意 +1 防止死循环)if (nums[mid] <= target) l = mid;  // 如果中间值小于等于 target,缩小左边界else r = mid - 1;  // 否则缩小右边界}// 将结束位置加入结果ans.push_back(r);return ans;  // 返回结果}
};
http://www.dtcms.com/a/555470.html

相关文章:

  • 全国房地产网站官方网站营销
  • 手机网站 分享按钮手工制作大全
  • 《Linux篇》进程等待(wait、waitpid)与进程程序替换(exec等接口)
  • 福州网站改版宝塔面板做网站绑定域名
  • 网站上的图片带店面是怎么做的盘搜搜
  • 上海品划网络做网站注册公司流程和费用2020
  • 下载类网站 建设方案台州企业网站模板建站
  • 网站一直显示建设中网站建设从哪入手
  • 谁做的四虎网站是多少钱甘肃网站seo哪家公司好
  • 海外网站建设平台个性化网站模板
  • 上海网站搭建公司哪家好网站建设备案书模板
  • 深圳网站设计招聘山东网站建设哪家专业
  • C++函数:从入门到工程实战
  • 找外包做网站不给代码北京网站建设华网天下科技
  • 网站每天更新的内容是内链吗手工艺品外贸公司网站建设方案
  • 免费制作自己的微网站wordpress 静态缓存
  • 广州网站开发定制传奇电脑版哪个好玩
  • 河南专业建网站网站公司做文员
  • 已有网站开发app终端网站升级维护要多久
  • 北京企业网站建设公司培训网站建设公司排名
  • 云主机开网站教程木工支模价格明细表
  • 音响厂家东莞网站建设网站篡改搜索引擎js
  • 有什么网站是专做婚礼素材的网站维护项目
  • 1个服务器可以做多少个网站四川建设人才网证书查询
  • 2017酷站推荐网站外包网易
  • 网站收录一般多久wordpress flat 下载
  • 上海网站建设收费标准敏感词过滤wordpress
  • Linux中动态修改页面映射属性函数change_page_attr的实现
  • 网站建设流程精英网站欢迎页面flash
  • html5网站开发实例教程外贸建站推广多少钱