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

力扣hot100:34. 在排序数组中查找元素的第一个和最后一个位置(二分查找的理解)

478bb6441e444b51bac604fcc3e9bc89.png

        我们知道使用二分查找能找到值所在的位置。假如我们在找到值后仍然不断的更新指针会发生什么?我们可以利用这一点来找到最左边的以及最右边的值。

如果当nums[mid]==target时,使得 right=mid-1,那么最终会使得target在right的右边。

如果当nums[mid]==target时,使得 left=mid+1,那么最终会使得target在left的左边。

        原因是因为我们会不断更新left和right,即使是找到了值仍然更新。当我们找到一个目标值使得 right=mid-1,实际上我们是将target值认为比target值大的,然后又要寻找target值。最后left不断逼近target,right不断往左去掉target。

class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {if(nums.empty()) return {-1,-1};//除了forward_list外,所有容器都有的三个大小操作:size(),empty(),max_size()。返回值 是 列表初始化的int left=0,right=nums.size()-1;while(left<=right){//寻找最左边的元素int mid=(left+right)>>1;if(nums[mid]>=target) right=mid-1;else left=mid+1;}if(left==nums.size()||nums[left]!=target) return vector<int>{-1,-1};//列表初始化的匿名对象int ans=left;left=0,right=nums.size()-1;while(left<=right){//寻找最右边的元素int mid=(left+right)>>1;if(nums[mid]>target) right=mid-1;else left=mid+1;}return {ans,left-1};//列表初始化的匿名对象,涉及到一个类类型的 隐式类型转换}
};

 涉及到的STL问题已经标注。

 

相关文章:

力扣hot100:34. 在排序数组中查找元素的第一个和最后一个位置(二分查找的理解)

我们知道使用二分查找能找到值所在的位置。假如我们在找到值后仍然不断的更新指针会发生什么&#xff1f;我们可以利用这一点来找到最左边的以及最右边的值。 如果当nums[mid]target时&#xff0c;使得 rightmid-1&#xff0c;那么最终会使得target在right的右边。 如果当nums[…...

几何相互作用GNN预测3D-PLA

预测PLA是药物发现中的核心问题。最近的进展显示了将ML应用于PLA预测的巨大潜力。然而,它们大多忽略了复合物的3D结构和蛋白质与配体之间的物理相互作用,而这对于理解结合机制至关重要。作者提出了一种结合3D结构和物理相互作用的几何相互作用图神经网络GIGN,用于预测蛋白质…...

2024最新版使用PyCharm搭建Anaconda

2024最新版使用PyCharm搭建Anaconda 因为pycharm自带的包不全&#xff0c;或者下载的时候比较慢&#xff0c;所以我们直接用anaconda的包&#xff0c;毕竟我们以后还会学到很多的包&#xff0c;不多说&#xff0c;直接开干&#xff01; 一、下载Pycharm、Anacoda pycharm中文网…...

前台于后台项目

一&#xff1a;技术栈 前台&#xff1a;vue3element plus 后台&#xff1a;reactant desgin 二&#xff1a;项目中的问题&#xff1a; 多人协同开发导致样式冲突 ui框架中组件的使用 ui框架中组件样式的修改 精度缺失问题 框架的使用 三&#xff1a;解决方案&#xff1a; …...

Magical Combat VFX

这个包包含30个可供游戏使用的VFX,有各种口味,为您的游戏增添趣味! 所有VFX都经过了很好的优化,可以在所有平台上使用。 这个包特别有一堆闪电魔法,有两种主要的变体,一种是深色的,另一种是浅色的。但它也提供了一系列其他视觉效果,如神圣咒语、音乐主题等等! 我们提供…...

hadoop伪分布式环境搭建详解

&#xff08;操作系统是centos7&#xff09; 1.更改主机名&#xff0c;设置与ip 的映射关系 hostname //查看主机名 vim /etc/hostname //将里面的主机名更改为master vim /etc/hosts //将127.0.0.1后面的主机名更改为master&#xff0c;在后面加入一行IP地址与主机名之间的…...

day12-SpringBootWeb 登录认证

一、登录功能 Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;PostMapping("/login")public Result login(RequestBody Emp emp){log.info("员工登录: {}", emp);Emp e empService.login(emp);//登录失败, …...

内外网数据单向导入导出 如何提升效率确保安全性?

金融、证券、税务、海关、军工、国央企、生物医药等涉密行业&#xff0c;为了保护内部的核心数据&#xff0c;都会将网络进行物理隔离&#xff0c;网络物理隔离主要是采用隔离硬件设备&#xff0c;在人工或者软件的控制下&#xff0c;进行内外网的切换和数据交换。 传统的内外网…...

Spring核心方法:Refresh全解(WebMVC如何装配、关联)

Spring核心方法&#xff1a;Refresh全解(WebMVC如何装配、关联) 这里是一个表格&#xff0c;列出了Spring容器刷新过程中执行的方法以及它们的作用&#xff1a; 方法名称描述prepareRefresh()初始化一些属性和状态&#xff0c;例如启动时间戳、活动标志、环境变量等。obtainF…...

TCP:三次握手四次挥手及相关问题:

连接—三次握手&#xff1a; 流程图&#xff1a; 过程详解&#xff1a; 客户端(connect)连接服务器&#xff08;listen) Client将标志位SYN置为1,随机产生一个值seqx, 并将该数据包发送给Server, Client进入SYN_ SENT状态&#xff0c;等待Server确认。Server收到数据包后由标…...

链式二叉树--前序中序后序遍历,高度,节点个数问题

目录 前言&#xff1a; 一&#xff1a;链式二叉树的结构定义 二&#xff1a;链式二叉树的遍历--->前序&#xff0c;中序&#xff0c;后序 1.前序 递归展开图分析 2.中序 递归展开图分析 3.后序 三&#xff1a;二叉树结点的求解 1.二叉树总结点 递归展开分析 2…...

HCIA——TCP协议详解

目录 1、TCP概念及协议头部格式 1.1TCP特点 1.2TCP协议协议头部格式 1.3字段进行介绍 1.3.1源端口和目的端口 1.3.2序号(seq) 1.3.3确认序号(ack) 1.3.4数据偏移 1.3.5标志位 1.3.6窗口 1.3.7校验和 1.3.8紧急指针 2、TCP的可靠性 2.1 TCP可靠性的保障 2.2排序机…...

Hadoop大数据应用:Linux 部署 HDFS 分布式集群

目录 一、实验 1.环境 2.Linux 部署 HDFS 分布式集群 3.Linux 使用 HDFS 文件系统 二、问题 1.ssh-copy-id 报错 2. 如何禁用ssh key 检测 3.HDFS有哪些配置文件 4.hadoop查看版本报错 5.启动集群报错 6.hadoop 的启动和停止命令 7.上传文件报错 8.HDFS 使用命令 一…...

纯 CSS 实现文字换行环绕效果

实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…...

【爬虫逆向】Python逆向采集猫眼电影票房数据

进行数据抓包&#xff0c;因为这个网站有数据加密 !pip install jsonpathCollecting jsonpathDownloading jsonpath-0.82.2.tar.gz (10 kB)Preparing metadata (setup.py) ... done Building wheels for collected packages: jsonpathBuilding wheel for jsonpath (setup.py) .…...

解析服务器下载速度:上行、下行与带宽之谜

在日常使用中&#xff0c;我们经常会遇到从服务器下载内容速度忽快忽慢的情况&#xff0c;即便服务器的硬件配置如4核CPU、8GB内存和12Mbps的带宽看似足够。为何会出现这种现象&#xff1f;这背后涉及到网络中的上行、下行以及带宽等关键概念。本文旨在揭开这些术语背后的含义&…...

计算机网络的概念

目录 <计算机网络的定义> <计算机网络的形成与发展> 1.第一阶段远程联机阶段----60年代以前: 2.第二阶段多机互联网络阶段----60年代中期: 3.第三阶段标准化网络阶段----70年代末: 4.第四阶段网络互联与高速网络阶段一90年代: <计算机网络的未来--下一代…...

MATLAB中的脚本和函数有什么区别?

MATLAB中的脚本和函数是两种不同的代码组织方式&#xff0c;它们在结构、功能和使用方式上有显著的区别。以下是对这两种方式的详细解释&#xff0c;总计约2000字。 一、MATLAB脚本 MATLAB脚本是一种包含多条MATLAB命令的文件&#xff0c;这些命令按照在文件中的顺序依次执行…...

从电影《沙丘》说起——对人工智能的思考

正文 从《沙丘》开始说起 之前看《沙丘》电影&#xff0c;里面有一类角色叫门泰特&#xff0c;这类人大脑可以飞快地运算&#xff0c;在电影设定里是替换人工智能、机器运算的存在。男主保罗也是这类型的人&#xff0c;但他可能基因更强大&#xff0c;吸食了香料后&#xff0…...

使用Python进行自然语言处理(NLP):NLTK与Spacy的比较【第133篇—NLTK与Spacy】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行自然语言处理&#xff08;NLP&#xff09;&#xff1a;NLTK与Spacy的比较 自…...

2026保姆级免费照片去水印教程:不用下载App,微信小程序3步搞定!

你是不是也遇到过这种崩溃瞬间&#xff1f;刷到一张绝美壁纸想存下来当背景&#xff0c;结果水印刚好挡住主角的脸&#xff1b;看到一段搞笑视频想转发给朋友&#xff0c;结果水印横在中间像个挡箭牌&#xff1b;想拿一张素材做作业PPT&#xff0c;结果水印比内容还显眼。更烦的…...

GEO优化是不是免费引流方式

这个问题很多企业主会问&#xff0c;背后关心的是获客成本。要回答清楚&#xff0c;需要区分几个概念&#xff1a;流量获取本身是否付费、优化过程是否产生成本、长期来看性价比如何。GEO本身属于“自然流量”获取方式从本质上讲&#xff0c;GEO优化获取的流量是自然流量&#…...

【信息科学与工程学】计算机科学与自动化——第六十二篇 虚拟化算法02

虚拟化领域核心算法详解(续) 算法19: 虚拟机快照与还原算法 编号:​ 19 类型:​ 快照管理算法 虚拟化领域:​ 存储虚拟化 算法声明:​ 虚拟机快照算法用于创建虚拟机在某一时间点的完整状态,包括内存、磁盘和CPU寄存器状态,支持增量快照、差异快照和快照链管理,实现快…...

基于Silvaco的β-氧化镓(β-Ga₂O₃)基MSM型日盲紫外光电探测器仿真研究

基于Silvaco的β-氧化镓(β-Ga₂O₃)基MSM型日盲紫外光电探测器仿真研究 摘要 日盲紫外光电探测技术在导弹预警、火灾监测、紫外通信等军用和民用领域具有重要的应用价值。β-氧化镓(β-Ga₂O₃)作为一种超宽禁带半导体材料,因其禁带宽度约为4.8-4.9 eV(对应吸收截止边约25…...

3分钟掌握novel-downloader:打造你的永久小说图书馆终极指南

3分钟掌握novel-downloader&#xff1a;打造你的永久小说图书馆终极指南 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾经因为小说网站突然关闭、章节被删除或VIP内容无法离…...

【Gemini生命周期价值深度解码】:20年AI架构师亲授5大阶段ROI测算模型与避坑指南

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini生命周期价值分析 Gemini 模型的生命周期价值&#xff08;LTV&#xff09;不仅体现在其推理性能与多模态能力上&#xff0c;更贯穿于从模型部署、持续微调、监控反馈到迭代升级的完整闭环。相较于…...

零基础玩转AI斗地主:DouZero_For_HappyDouDiZhu快速上手实战指南

零基础玩转AI斗地主&#xff1a;DouZero_For_HappyDouDiZhu快速上手实战指南 【免费下载链接】DouZero_For_HappyDouDiZhu 基于DouZero定制AI实战欢乐斗地主 项目地址: https://gitcode.com/gh_mirrors/do/DouZero_For_HappyDouDiZhu 想要在欢乐斗地主中体验AI智能辅助的…...

告别驱动精灵!手把手教你用设备管理器手动修复声卡驱动(以英特尔智音技术为例)

告别驱动精灵&#xff01;手把手教你用设备管理器手动修复声卡驱动&#xff08;以英特尔智音技术为例&#xff09;当笔记本突然失去声音&#xff0c;右下角的小喇叭图标显示红色叉号时&#xff0c;多数人的第一反应是下载各种驱动助手。但你是否想过&#xff0c;Windows自带的设…...

全面精通QuPath数字病理分析:实战应用全解析

全面精通QuPath数字病理分析&#xff1a;实战应用全解析 【免费下载链接】qupath QuPath - Open-source bioimage analysis for research 项目地址: https://gitcode.com/gh_mirrors/qu/qupath QuPath是一款专为生物医学研究和数字病理分析设计的开源软件&#xff0c;它…...

四线三格英语本模板word版pdf版作文纸可打印

高清四线三格英语书写本&#xff0c;兼具 Word、PDF 双格式&#xff0c;标准作文纸版式&#xff0c;页面规整适配打印&#xff0c;日常练字、英语习作、课业书写均可使用。 我用夸克网盘给你分享了「英语四线三格打印纸」&#xff08;50款&#xff09;&#xff0c; 链接&#x…...