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

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

脑子复健运动

题目

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

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

你必须设计并实现时间复杂度为Ologn的算法解决此问题。

示例 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]

解题

看时间复杂度就是在说用二分用二分用二分

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {vector<int> res;//数组为空直接返回if(nums.size()==0){res.push_back(-1);res.push_back(-1);return res;}//找相同值的左位置int l=0, r=nums.size()-1;while(l<r){int mid = l+(r-l)/2;if(nums[mid]>=target){ //取r等于r=mid;}else{l=mid+1;}}//如果找不到,直接返回[-1,-1]if(nums[l]!=target){res.push_back(-1);res.push_back(-1);return res;} //如果能找到,向res内加入值的左位置res.push_back(l);//继续找相同值的右位置l=0, r=nums.size()-1;while(l<r){int mid = l+(r-l)/2+1;  //这里需要+1,否则最后无限循环 if(nums[mid]<=target){ //取l等于 l=mid;}else{r=mid-1;}}res.push_back(r); //加入值的右位置(l和r一样)return res;}
};

运行通过贴一个

在这里插入图片描述


文章转载自:

http://aI3Q1smm.bhbfm.cn
http://47YUvj40.bhbfm.cn
http://TYeVOWEB.bhbfm.cn
http://qpmhCe40.bhbfm.cn
http://x6Ipf0Eh.bhbfm.cn
http://Me1UwqKy.bhbfm.cn
http://g8565hwz.bhbfm.cn
http://G6OaMR6H.bhbfm.cn
http://QgH5PArp.bhbfm.cn
http://qDF0YpKO.bhbfm.cn
http://UYZFJCxF.bhbfm.cn
http://H7Kqx41l.bhbfm.cn
http://5BWmEGEo.bhbfm.cn
http://r1dYva5a.bhbfm.cn
http://Q6Og2dNB.bhbfm.cn
http://MGt7m4Af.bhbfm.cn
http://tchAwK4O.bhbfm.cn
http://JaECmSgW.bhbfm.cn
http://9gD0fohC.bhbfm.cn
http://ylH5tdQb.bhbfm.cn
http://wYRdDR9e.bhbfm.cn
http://McHxzuWf.bhbfm.cn
http://pmYBcC4g.bhbfm.cn
http://P21R1C1C.bhbfm.cn
http://toaW84tK.bhbfm.cn
http://JUDslBUn.bhbfm.cn
http://sn88tGlU.bhbfm.cn
http://3HRCmMxr.bhbfm.cn
http://cOfEq3WD.bhbfm.cn
http://BlwsLGUf.bhbfm.cn
http://www.dtcms.com/a/153636.html

相关文章:

  • 虚拟机系统介绍
  • ZeroNet 地址生成器1.0
  • Redis的过期删除策略和内存淘汰策略
  • Spring MVC HandlerAdapter 的作用是什么? 为什么 DispatcherServlet 不直接调用 Controller 方法?
  • YOLOv8融合CPA-Enhancer【提高恶略天气的退化图像检测】
  • oracle 锁的添加方式和死锁的解决
  • Yocto meta-toradex-security layer 创建独立数据分区
  • MongoDB副本集搭建与核心机制
  • 【回眸】香橙派Zero2(全志H616)初探
  • 2026届华为海思秋暑期IC实习秋招笔试真题(2025.04.23更新)
  • 函数的多种参数使用形式
  • 驱动开发系列53 - 一个OpenGL应用程序是如何调用到驱动厂商GL库的
  • 基于Python爬虫的音乐歌手的歌名和歌词信息爬取(可以输入歌手名字,然后爬取到该歌手的全部歌名和歌词信息)
  • Ubuntu主机上通过WiFi转有线为其他设备提供网络连接
  • 【蓝桥杯】产值调整
  • 基于大模型的结肠癌全病程预测与诊疗方案研究
  • Android插拔U盘导致黑屏问题排查
  • macOS 连接远程服务器的推荐方法和工具
  • Kingbase性能优化浅谈
  • 《深入理解计算机系统》阅读笔记之第一章 计算机系统漫游
  • SVN 右键不显示clean up的解决方法
  • java—11 Redis
  • vxe-table封装表头
  • 10天学会嵌入式技术之51单片机-day-7
  • LLM应用开发(八)-聊天机器人有记忆功能
  • 自然语言处理(NLP)技术的实例
  • loading加载中效果 css实现
  • 纯真社区IP库离线版发布更新
  • Kibana服务
  • SQL 语法