LeetCode.034.在排序数据中查找元素的第一个位置和最后一个位置(二周目)
虽然此题先前做过但是再次做起来的时候又是没有啥思路。题目给你一个按照非递减顺序排列的整数数组nums和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。首先想到的肯定也是二分查找但是以往的二分查找都是找到特定的值而这次需要一个区间这就要考虑到首位指针的判定以往的二分查找都是分三种情况mid对应的值大于目标值小于目标值等于目标值如果把其中两项合并比如大于目标值小于等于目标值这样在mid对应的值等于目标值时mid还是会走小于目标值得分支那么就会继续往右边去寻找直到越界这样根据头指针就能找到右边界同理我们能获得左边界。在对左右边界进行判断我们就能获得最终结果。注意leftborder和rightborder都是越界后的首位指针在求结果时要对应的加减1.class Solution { public: vectorint searchRange(vectorint nums, int target) { int leftborder getLeftBorder(nums,target); int rightborder getRightBorder(nums,target); if (leftborder -2 || rightborder -2){ return {-1,-1}; }else if (rightborder - leftborder 1){ return {leftborder 1, rightborder - 1}; }else{ return {-1,-1}; } } private: int getLeftBorder(vectorint nums, int target){ int i 0; int j nums.size() - 1; int mid (i j) / 2; int leftborder -2; while (i j) { if (nums[mid] target) { i mid 1; }else{ j mid - 1; leftborder j; } mid (i j) / 2; } return leftborder; } int getRightBorder(vectorint nums, int target){ int i 0; int j nums.size() - 1; int mid (i j) / 2; int rightborder -2; while (i j) { if (nums[mid] target) { j mid - 1; }else{ i mid 1; rightborder i; } mid (i j) / 2; } return rightborder; } };

相关新闻

单片机毕设项目:基于 51/STM32 单片机的按键交互多模式环境智能安防平台设计 基于 51/STM32 单片机的舵机、继电器驱动环境智能联动控制系统(017504)

单片机毕设项目:基于 51/STM32 单片机的按键交互多模式环境智能安防平台设计 基于 51/STM32 单片机的舵机、继电器驱动环境智能联动控制系统(017504)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/24 13:59:44 阅读更多 →
单片机计算机毕设之基于 51/STM32 单片机的 LCD1602 显示环境感知智能安防系统设计 基于 51/STM32 单片机的多传感器环境数据采集与自动执行系统设计(017504)

单片机计算机毕设之基于 51/STM32 单片机的 LCD1602 显示环境感知智能安防系统设计 基于 51/STM32 单片机的多传感器环境数据采集与自动执行系统设计(017504)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/24 13:59:44 阅读更多 →
单片机计算机毕设之线性查表算法优化的 STM32 黑线循迹小车设计 集成电压检测与声光报警的 STM32 智能小车实现(017404)

单片机计算机毕设之线性查表算法优化的 STM32 黑线循迹小车设计 集成电压检测与声光报警的 STM32 智能小车实现(017404)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/24 13:59:44 阅读更多 →

最新新闻

如何用 skills 做网页情感分析?从几百条评论到一份看得懂的结论

如何用 skills 做网页情感分析?从几百条评论到一份看得懂的结论

如何用 skills 做网页情感分析?从几百条评论到一份看得懂的结论 【免费下载链接】skills Browserbases official collection of agent skills to access the web. 项目地址: https://gitcode.com/GitHub_Trending/skills23/skills 面对几百条网页评论、用户评…

2026/8/24 18:03:07 阅读更多 →
嵌入式开发调试难题:IAR无法连接MSP430 USB调试接口的完整解决方案

嵌入式开发调试难题:IAR无法连接MSP430 USB调试接口的完整解决方案

1. 项目概述:当调试器“失联”时 作为一名在嵌入式开发一线摸爬滚打了十多年的老工程师,我敢说,调试器连接失败绝对是每个开发者都绕不开的“必修课”。最近,我在一个基于TI MSP430系列MCU的老项目维护中,就遇到了一个…

2026/8/24 18:03:07 阅读更多 →
SpringBoot @Value注解默认值设置:原理、实践与避坑指南

SpringBoot @Value注解默认值设置:原理、实践与避坑指南

1. 项目概述:为什么我们需要关注Value的默认值? 在SpringBoot项目的日常开发里,配置管理是个绕不开的话题。从数据库连接串到第三方服务的API密钥,再到业务开关,这些配置项散落在 application.yml 或 application.p…

2026/8/24 18:03:07 阅读更多 →
SurrealDB图形数据库指南:告别JOIN

SurrealDB图形数据库指南:告别JOIN

SurrealDB图形数据库指南:告别JOIN 【免费下载链接】surrealdb A scalable, distributed, collaborative, document-graph database, for the realtime web 项目地址: https://gitcode.com/GitHub_Trending/su/surrealdb SurrealDB是一个用Rust构建的多模型数据库&#…

2026/8/24 18:03:07 阅读更多 →
ncmdump:三步完成NCM文件解密转换

ncmdump:三步完成NCM文件解密转换

ncmdump:三步完成NCM文件解密转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump ncmdump 是运行在 Windows 上的 NCM 解密工具。网易云音乐下载的 .ncm 是加密格式,只能在自家客户端里播放,ncmdu…

2026/8/24 18:03:07 阅读更多 →
OPC UA设置事件节点

OPC UA设置事件节点

参考链接:Question about Python OPCUA session timeout and client. import asyncio, json from asyncua import Client, ua, Node from asyncua.common.events import Event from datetime import datetime####################################################…

2026/8/24 18:02:06 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →