二分查找-在排序数组中查找元素的第一个和最后一个位置

embedded/2025/3/23 19:16:21/

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

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

输入:整型数组,目标整型变量
输出:整型数组,存储开始位置和结束索引
思路:非递减数组,可以实现一个方法,找到每一个目标值的最左边索引,然后target+1起始索引的前一位就是最右边索引

java">class Solution {public int[] searchRange(int[] nums, int target) {int start = leftIndex(nums, target);if(start == nums.length || nums[start] != target){//说明不存在return new int[]{-1, -1};}//end在前一位int end = leftIndex(nums, target + 1) - 1;return new int[]{start, end};}public int leftIndex(int[] nums, int target){int left = 0;int right = nums.length - 1;//循环结束后,left始终指向target的最左边while(left <= right){int mid = (left + right) / 2;//核心if(nums[mid] >= target){right = mid - 1;}else{left = mid + 1;//}}return left;   }
}

http://www.ppmy.cn/embedded/174699.html

相关文章

C++从入门到实战(六)类和对象(第二部分)C++成员对象及其实例化,对象大小与this详解

C从入门到实战&#xff08;六&#xff09;类和对象&#xff08;第二部分&#xff09;C成员对象及其实例化&#xff0c;对象大小与this详解 前言一、类和对象里面成员变量&#xff0c;成员函数是什么1.1成员变量1.2成员函数1.3成员变量、成员函数与局部变量的对比 二、类的实例化…

音视频系列——Websockets接口封装为Http接口

模型服务示例&#xff1a;实时语音转文本服务 本示例展示一个支持双协议&#xff08;WebSocket流式接口HTTP同步接口&#xff09;的语音转文本模型服务&#xff0c;并提供将WebSocket接口封装为HTTP接口的代码实现。 一、服务架构设计 #mermaid-svg-nw0dMZ4uKfS4vGZR {font-fa…

代码随想录算法训练营第十五天 | 数组 |长度最小的子数组和螺旋矩阵II

长度最小的子数组 【题目简介】 【自写数组解法】 class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:minLength float(inf)slow 0fast 0cur_sum nums[slow]# 终止条件&#xff1a;fast不能超过最大索引值while slow < fast and fas…

基于python+django的宠物商店-宠物管理系统源码+运行步骤

该系统是基于pythondjango开发的宠物商店-宠物管理系统。是给师妹开发的课程作业。现将源码开放给大家。大家学习过程中&#xff0c;如遇问题可以在github咨询作者。共同学习和进步。 演示地址 前台地址&#xff1a; http://pet.gitapp.cn 后台地址&#xff1a; http://pet.g…

Web3与网络安全:如何确保去中心化应用的安全性

Web3与网络安全&#xff1a;如何确保去中心化应用的安全性 随着区块链技术的蓬勃发展&#xff0c;Web3的概念逐渐成为互联网发展的新趋势。Web3强调去中心化、用户主权和数据隐私&#xff0c;它的核心是构建一个更加开放、透明和安全的网络环境。然而&#xff0c;随着去中心化…

Win NAS 分享功能:精准、安全的内容共享

WinNAS 不仅是一款强大的 NAS服务&#xff0c;还通过耘想存储 APP 提供了便捷的内容分享功能。无论是与个人、群聊、朋友圈还是公众分享文件&#xff0c;WinNAS 都配备了严格的权限管理机制&#xff0c;确保您的数据安全且精准地传递给目标对象。以下是 WinNAS 分享功能的详细介…

强大的AI网站推荐(第一集)—— Devv AI

网站&#xff1a;Devv AI 号称&#xff1a;最懂程序员的新一代 AI 搜索引擎 博主评价&#xff1a;我的大学所有的代码都是使用它&#xff0c;极大地提升了我的学习和开发效率。 推荐指数&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x…

pytorch小记(十四):pytorch中 nn.Embedding 详解

pytorch小记&#xff08;十四&#xff09;&#xff1a;pytorch中 nn.Embedding 详解 PyTorch 中的 nn.Embedding 详解1. 什么是 nn.Embedding&#xff1f;2. nn.Embedding 的基本使用示例 1&#xff1a;基础用法示例 2&#xff1a;处理批次输入 3. nn.Embedding 与 nn.Linear 的…