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

news/2024/11/14 5:28:04/

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

题目描述

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target,返回 [-1, -1]。
你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。

思路

思路:二分查找找到目标值target,再通过两个while循环,分别向左找开始位置、向右找结束位置

代码

class Solution {public int[] searchRange(int[] nums, int target) {if (nums.length == 0)return new int[]{-1, -1};int re = -1;int left = 0;int right = nums.length - 1;int middle = -10000;while (left <= right){middle = (left + right) / 2;if (nums[middle] == target){re = middle;break;}else if(nums[middle] < target)left = middle + 1;else if(nums[middle] > target)right = middle - 1;}if (re == -1)return new int[]{-1, -1};else {int min = re;int max = re;int idx = re;while (idx != 0){idx--;if (nums[idx] == target)min = idx;elsebreak;}while (idx + 1 != nums.length){idx++;if (nums[idx] == target)max = idx;elsebreak;}return new int[]{min, max};}}
}

http://www.ppmy.cn/news/1546505.html

相关文章

C/C++中使用MYSQL

首先要保证下载好mysql的库和头文件&#xff0c;头文件在/usr/include/mysql/目录下&#xff0c;库在/usr/lib64/mysql/目录下&#xff1a; 一般情况下&#xff0c;在我们安装mysql的时候&#xff0c;这些都提前配置好了&#xff0c;如果没有就重装一下mysql。如果重装mysql还是…

learn-F12 Performance(性能)前端性能分析(LCP,CLS,INP)

1.前言 在浏览器开发者工具&#xff08;F12&#xff09;中&#xff0c;本地指标&#xff08;Local Metrics&#xff09;包括LCP&#xff08; Largest Contentful Paint&#xff09;、CLS&#xff08; Cumulative Layout Shift&#xff09;和INP&#xff08; Interaction to Nex…

kafka夺命连环三十问(16-22)

16、kafka是如何做到高效读写 1&#xff0c;kafka本身是分布式集群&#xff0c;可以采用分区技术&#xff0c;并行度高 2&#xff0c;读数据采用稀疏索引&#xff0c;可以快速定位要消费的数据 3&#xff0c;顺写磁盘 4&#xff0c;页缓存零拷贝技术 17、Kafka集群中数据的存储…

navicat pg库安装mysql fdw 外表扩展

在Windows上手动安装mysql_fdw&#xff08;MySQL Foreign Data Wrapper&#xff09;通常涉及一系列步骤&#xff0c;包括下载源码、编译、配置和测试。以下是一个详细的指南&#xff1a; 一、下载mysql_fdw源码 访问mysql_fdw的GitHub发布页面&#xff0c;选择最新版本的源码…

如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人

如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人 一、选择云服务器 1.申请云服务器 建议云服务器使用按量付费&#xff0c;按小时算还是非常便宜的。 硬件配置&#xff1a; 系统&#xff1a;ubuntu&#xff0c;20.04 系统盘&#xff1a;150G GPU…

【ET8框架进阶】HybridCLR打包丢失元方法问题MissingMethodException:生成LinkXml增加元方法

问题描述 HybridCLR自带的GenerateLinkXml,丢失部分原方法 MissingMethodException: Default constructor not found for type YooAsset.FileGeneralRequestat System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00000]…

浔川 AI 翻译 v5.0 上线时间公告(已公布!)

亲爱的用户们&#xff1a; 在此向大家隆重宣布&#xff0c;备受期待的浔川 AI 翻译 v5.0 版本将于 11 月 16 日正式上线啦&#xff01; 我们的研发团队全力以赴&#xff0c;精心打磨这一全新版本。在这个过程中&#xff0c;运用了一系列先进技术&#xff0c;对翻译算法做了深度…

mysql占用内存过大问题排查

如果 MySQL 占用内存过高&#xff0c;可以按照以下步骤进行排查&#xff1a; 一、检查 MySQL 配置参数 查看 innodb_buffer_pool_size&#xff1a; 这个参数决定了 InnoDB 存储引擎缓冲池的大小&#xff0c;它会占用大量内存。如果设置得过大&#xff0c;可能导致内存占用过高…