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

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

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题目链接

题目描述

在这里插入图片描述

题解思路

这题让我们求目标值的左边界和右边界,我们可以采用二分查找搜索有序数组内大于等于目标值的最左边的下标

然后我们只需要在有序数组查找一下大于等于target的最左边下标

  • 如果该下标越界或者下标对应的值不等于target,则说明有序数组中不存在target,直接返回没找到target的第一个位置
  • 如果找到target的第一个位置,我们查找大于等于target + 1的最左边下标,然后该下标减一就是target的最后一个位置,然后返回结果

题解代码

func searchRange(nums []int, target int) []int {if len(nums) == 0 {return []int{-1, -1}}var binarySearch func(target int) intbinarySearch = func(target int) int {l, r := 0, len(nums) - 1for l <= r {m := (l + r) >> 1if nums[m] < target {l = m + 1} else {r = m - 1}}return l}l := binarySearch(target)if l == len(nums) || nums[l] != target {return []int{-1, -1}}return []int{l, binarySearch(target + 1) - 1}
}

题目链接

https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/

相关文章:

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

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 这题让我们求目标值的左边界和右边界&#xff0c;我们可以采用二分查找搜索有序数组内大于等于目标值的最左边的下标 然后我们只需要在有序数组查找一下大于等于target的最左边下标 如果该下标越界或者下标对应…...

Linux自动化构建工具Make/Makefile

make是一个命令 makefile是一个文件 touch 创建并用vim打开makefile 写入依赖对象和依赖方法 mycode是目标文件 第二行数依赖方法 以tab键开头 make makefile原理 makefile中写的是依赖关系和依赖方法 clean英语清理文件 后不用加源文件。.PHONY定义clean是伪目标。 make只…...

自动驾驶系列—智能驾驶中的“换挡革命”:线控换挡技术详解

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…...

.mallox勒索病毒肆虐:了解它的危害与防范措施

引言 在数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;网络空间的安全问题日益凸显。其中&#xff0c;勒索病毒作为一种新型的恶意软件&#xff0c;以其独特的加密方式和勒索行为&#xff0c;成为了网络安全领域的一大威胁。近年来&#xff0c;.mallox勒索病毒以其…...

如何使用ssm实现基于Java的民宿预订管理系统的设计与实现

TOC ssm773基于Java的民宿预订管理系统的设计与实现jsp 绪论 1.1课题研究背景意义 随着科技的发展&#xff0c;计算机的应用&#xff0c;人们的生活方方面面都和互联网密不可分。计算机的普及使得人们的生活更加方便快捷&#xff0c;网络也遍及到我们生活的每个角落&#x…...

光伏组件模型模板在SketchUp中如何完成成模数化设计?

选中模板组件&#xff0c;点击左侧工具栏中移动工具&#xff0c;按住Ctrl再依次点击组件起始点和终点&#xff0c;完成组件复制&#xff0c;输入需要复制的组件数量&#xff08;*n&#xff09;后回车&#xff0c;即可完成模数化设计。 选中模组的多块模型右键进行创建组件或群…...

常用组件详解(十):保存与加载模型、检查点机制的使用

文章目录 1.保存、加载模型2.torch.nn.Module.state_dict()2.1基本使用2.2保存和加载状态字典 3.创建Checkpoint3.1基本使用3.2完整案例 1.保存、加载模型 torch.save()用于保存一个序列化对象到磁盘上&#xff0c;该序列化对象可以是任何类型的对象&#xff0c;包括模型、张量…...

基于SpringBoot+Vue+MySQL的在线学习交流平台

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展&#xff0c;在线学习已成为现代教育的重要组成部分。传统的面对面教学方式已无法满足广大学习者的需求&#xff0c;特别是在时间、地点上受限的学习者。因此&#xff0c;构建一个基于SpringBoot、Vue.…...

前端开发在AI时代如何保持核心竞争力

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;前端开发领域正经历着前所未有的变革。AI辅助开发工具、自动化测试框架、智能代码补全等技术的出现&#xff0c;极大地提高了开发效率&#xff0c;同时也对前端开发人员的技能和角色提出了新的要求。在这个背…...

ffmpeg面向对象——拉流协议匹配机制探索

目录 1.URLProtocol类2.协议匹配的核心接口3. URLContext类4. 综合调用流程图5.rtsp拉流协议匹配流程图及对象图5.1 rtsp拉流协议调用流程图5.2 rtsp拉流协议对象图 6.本地文件调用流程图及对象图6.1 本地文件调用流程图6.2 本地文件对象图 7.内存数据调用流程图及对象图7.1 内…...

R语言绘制柱状图

柱状图是一种数据可视化工具。由 x 轴和 y 轴构成&#xff0c;x 轴表示类别&#xff0c;y 轴为数据数值。以矩形柱子展示数据大小&#xff0c;便于直观比较不同类别数据差异及了解分布。广泛应用于销售分析、统计、项目管理、科学研究等领域。可定制颜色、宽度等属性&#xff0…...

GNU/Linux - tarball文件介绍介绍

Linux 中的 tarball 文件是将多个文件和目录归档到一个文件中的常用方法&#xff0c;通常用于备份、分发或打包目的。术语 “tarball ”来源于 “tar”&#xff08;磁带归档的缩写&#xff09;命令的使用&#xff0c;该命令最初设计用于将数据写入磁带等顺序存储设备。如今&…...

AppointmentController

目录 1、 AppointmentController 1.1、 删除预约单据信息 1.2、 反审核预约单 1.3、 SelectToMainten AppointmentController using QXQPS.Models; using QXQPS.Vo; using System; using System.Collections; using System.Collections.Generic; using System.L…...

网站建设完成后,切勿让公司官网成为摆设

在当今这个数字化时代&#xff0c;公司官网已经成为企业展示形象、传递信息、吸引客户的重要平台。然而&#xff0c;许多企业在网站建设完成后&#xff0c;往往忽视了对官网的持续运营和维护&#xff0c;导致官网逐渐沦为摆设&#xff0c;无法发挥其应有的作用。为了确保公司官…...

独孤思维:闲得蛋疼才去做副业

独孤现实中玩的要好的朋友。 他们都只在自己的社交圈&#xff0c;工作圈链接。 没有人知道&#xff0c;副业可以这么玩。 所以他们很好奇&#xff0c;问我&#xff0c;独孤&#xff0c;你最开始是怎么知道这些副业的&#xff1f; 其实&#xff0c;独孤最开始接触副业&#…...

vulnhub靶场之hackablell

一.环境搭建 1.靶场描述 difficulty: easy This works better with VirtualBox rather than VMware 2.靶场下载 https://download.vulnhub.com/hackable/hackableII.ova 3.靶场启动 二.信息收集 1.寻找靶场的真实ip nmap -SP 192.168.246.0/24 arp-scan -l 根据上面两个…...

《浔川社团官方通报 —— 为何明确 10 月 2 日上线的浔川 AI 翻译 v3.0 再次被告知延迟上线》

《浔川社团官方通报 —— 为何明确 10 月 2 日上线的浔川 AI 翻译 v3.0 再次被告知延迟上线》 各位关注浔川社团的朋友们&#xff1a; 大家好&#xff01;首先&#xff0c;我们要向一直期待浔川 AI 翻译 v3.0 上线的朋友们致以最诚挚的歉意。原定于 10 月 2 日上线的浔川 AI 翻…...

加密与安全_HOTP一次性密码生成算法

文章目录 HOTP 的基础原理HOTP 的工作流程HOTP 的应用场景HOTP 的安全性安全性增强措施Code生成HOTP可配置项校验HOTP可拓展功能计数器&#xff08;counter&#xff09;计数器在客户端和服务端的作用计数器的同步机制客户端和服务端中的计数器表现服务端如何处理计数器不同步计…...

ResNet18果蔬图像识别分类

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有&#xff1a;中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等&#xff0c;曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝&#xff0c;拥有2篇国家级人工智能发明专利。 社区特色…...

深度强化学习中收敛图的横坐标是steps还是episode?

在深度强化学习&#xff08;Deep Reinforcement Learning, DRL&#xff09;的收敛图中&#xff0c;横坐标选择 steps 或者 episodes 主要取决于算法的设计和实验的需求&#xff0c;两者的差异和使用场景如下&#xff1a; Steps&#xff08;步数&#xff09;&#xff1a; 定义&a…...

深度解析:三合一技术方案破解Cursor AI编辑器限制的终极指南

深度解析&#xff1a;三合一技术方案破解Cursor AI编辑器限制的终极指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached yo…...

单片机代码优化实战:从数据类型到算法与数据结构的效率提升

1. 项目概述&#xff1a;为什么单片机代码需要“斤斤计较”&#xff1f;如果你是从PC端或者服务器端开发转过来的朋友&#xff0c;第一次接触单片机编程&#xff0c;可能会觉得处处掣肘。在PC上&#xff0c;我们习惯了动辄几个G的内存&#xff0c;上百G的硬盘&#xff0c;CPU频…...

终极指南:如何在Mac上免费实现NTFS读写功能

终极指南&#xff1a;如何在Mac上免费实现NTFS读写功能 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management for NTFS dri…...

突破性效率工具:3步实现Draw.io Mermaid智能绘图完整方案

突破性效率工具&#xff1a;3步实现Draw.io Mermaid智能绘图完整方案 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 还在为传统拖拽式绘图效率低下而烦恼吗&#xff1…...

深度解析Windows Subsystem for Android:企业级跨平台运行时架构与最佳实践

深度解析Windows Subsystem for Android&#xff1a;企业级跨平台运行时架构与最佳实践 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA Windows Subsystem f…...

AI写专著必备攻略:掌握这些技巧,用AI 3天完成20万字专著撰写

学术专著在写作时需要严谨的态度&#xff0c;而这种严谨性则依赖于大量的资料和数据支持。收集资料和整合数据恰恰是写作过程中最为繁琐且耗时的步骤。研究者需要广泛查找国内外的前沿文献&#xff0c;这不仅要求文献的权威性和相关性&#xff0c;还需追溯到原始来源&#xff0…...

CLI工具集claw:模块化设计与插件化架构深度解析

1. 项目概述&#xff1a;一个面向开发者的现代化CLI工具集最近在GitHub上看到一个名为opsyhq/claw的项目&#xff0c;第一眼就被它简洁的名字吸引了。claw&#xff0c;中文意思是“爪子”&#xff0c;听起来就很有力量感和抓取感。点进去一看&#xff0c;果然&#xff0c;这是一…...

告别内存焦虑!手把手教你读懂中科蓝讯AB530X的ram.ld文件,精准控制RAM复用

告别内存焦虑&#xff01;手把手教你读懂中科蓝讯AB530X的ram.ld文件&#xff0c;精准控制RAM复用 第一次打开中科蓝讯AB530X的ram.ld文件时&#xff0c;那些密密麻麻的符号和数字让我头皮发麻。作为一款主打性价比的蓝牙芯片&#xff0c;AB530X的RAM资源相当有限——就像在寸土…...

序列去重操作

...

基于红外传感器与CircuitPython的互动声光糖果碗制作指南

1. 项目概述&#xff1a;一个会“尖叫”的互动糖果碗又到了捣鼓点有趣玩意儿的时候了。作为一个喜欢在万圣节搞点小惊喜的创客&#xff0c;我总觉得光是发糖有点平淡。能不能让糖果碗自己“活”过来&#xff0c;在孩子们伸手时&#xff0c;用灯光和声音制造一点既有趣又不会太过…...