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

news/2025/1/10 20:46:21/文章来源:https://www.cnblogs.com/hisun9/p/18522377

题目

参考了y总讲的这题 789. 数的范围 自己是这样写的;

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

分析过程见下图:

img

然后说明一个要注意的点,也是本人写第一次代码然后提交报错的地方:

注意这条语句:

if (nums.size() == 0 || nums[l] != target) return result;

不要写成

if (nums[l] != target) return result;

因为如果nums是空的,那么就会发生越界的错误,一定要先判断能不能执行nums[l](如果nums没有元素是空的就不能执行)

卡哥的讲解也蛮有助于理解这题的:34. 在排序数组中查找元素的第一个和最后一个位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue全家桶–Pinia状态管理

什么是Pinia呢?Pinia和Vuex的区别如何使用Pinia?

2024秋软工实践 旺仔水饺队 原型设计和UML设计

作业所属课程 https://edu.cnblogs.com/campus/fzu/SE2024作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13297作业的目标 实现项目的原型设计与概要设计团队名称 旺仔水饺102201140 黎曼 102201138 黄俊瑶102201127 罗永辉 102201130 郑哲浩102202144 傅钰 10…

5.树上问题

在宇宙的尽头,时空掌控着时间与空间的无尽流转。过去、现在与未来的区别只是一种固执己见的幻觉,所有的时空都在他的眼中交织成永恒的现在。树上问题 开题顺序: \(ACH\) \(A\) CF600E Lomsat gelral题解\(B\) CF708C Centroids \(C\) CF1706E Qpwoeirut and Vertices题解\(D…

2024-2025-1 20241425《计算机基础与程序设计》第6周学习总结

2024-2025-1 20241425《计算机基础与程序设计》第6周学习总结 作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276这个作业的目标 计算机科学概论(第七版)第7章 《C语…

three.js+vue智慧社区web3d数字孪生三维地图

案例效果截图如下:具体案例场景和功能,详见b站视频: https://www.bilibili.com/video/BV1Bb421E7WL/?vd_source=7d4ec9c9275b9c7d16afe9b4625f636c案例场景逻辑代码:<template><div id="whole"><!-- threejs容器 --><div id="three&q…

网易云课堂视频课件课程下载工具,如何在电脑端下载网易云课堂视频课程课件资料到本地?

一. 安装网易云课堂课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/study163_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学…

html结合js设计一个可拍照可录制可下载的摄像头页面

功能如下html文件用户设置样式,代码如下<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Came…

ENSP之AR路由器一直#####的极端情况判断

系统版本,CPU 如下: 故障原因:AR设备一直###### 分析判断:由于是新安装的系统,没有安全软件限制,防火墙也都放行了,其他一切正常。ENSP凡是要通过virtual box调用的设备都出现了###。判断有两种情况,系统版本或者CPU问题。 通过和客户沟通得知,他对CPU进行了超频。…

如何使用Ida Pro和Core Dump文件定位崩溃位置(Linux下无调试符号的进程专享)

我们在嵌入式Linux开发过程中经常会遇到一个问题,就是程序崩溃后不知道具体位置。因为我们发布到生产环境的一般是没有调试符号的(使用strip或编译时加-s参数,CMake生成的编译指令中的-O3也会造成调试符号丢失),毕竟嵌入式的存储都比较有限,肯定是需要剥离调试符号的。另…

统计学习方法笔记

统计学习方法 1.3 统计学习方法的三要素 1.3.1 模型 好,为什么要从1.3开始呢,因为看前面的课,我还没有用到这个软件。 方法=模型+策略+算法 模型有好多个,试试 策略:按照什么样的准则去选取模型 比如说看预测值和真实值有多大,或者损失函数最小等 算法 即怎样去实现去寻找…

zookeeper的安装与搭建

1、下载zookeeper,并上传到Linux并解压tar -xvf zookeeper-3.5.7.tar.gz -C ../2、修改文件名配置环境变量mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7 vim /etc/profile source /etc/profile3、修改配置文件创建data目录mkdir data创建myid文件touch myid vim myidserver…