给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值 target,返回 [-1, -1]。

进阶:

你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?

示例 1:

输入:nums = [5,7,7,8,8,10], target = 8
输出:[3,4]

代码

class Solution {public int[] searchRange(int[] nums, int target) {int n=nums.length,l=0,r=n-1;while (l<=r)//二分查找{int mid=l+(r-l)/2;if(nums[mid]==target){int ri=mid,le=mid;while (le>=0&&nums[le]==target)//向左移动到左端le--;le++;while (ri<n&&nums[ri]==target)//向右移动到最右端ri++;ri--;return new int[]{le,ri}; }else if(nums[mid]>target){r=mid-1;}else l=mid+1;}return new int[]{-1,-1};//找不到}
}

leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)相关推荐

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

    在排序数组中查找元素的第一个和最后一个位置 class Solution {public int[] searchRange(int[] nums, int target) {int len = nu ...

  2. 62. Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 (二分查找-局部有序)

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.如果数组中不存在目标值 target,返回 [-1, -1].进阶:你可以设计并实现时 ...

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

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...

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

    1.左右区间要单独查找,时间复杂度为O(logN)O(logN)O(logN) 2.查找右边界的时候,左边向右收缩:查找左边界的时候,右边向左收缩. class Solution {public:in ...

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

    https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/ 解决方案 class ...

  6. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  7. LeetCode (二分小专题)33搜索旋转排序数组34在排序数组中查找元素的第一个和最后一个位置35搜索插入位置

    前言 国庆前最后一次打卡,国庆后继续开启,公众号bigsai回复进群欢迎加入打卡,如有帮助记得点赞收藏. 近期打卡记录: LeetCode 32最长有效括号(困难) (本周) LeetCode 30串 ...

  8. [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置

    LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...

  9. 34. 在排序数组中查找元素的第一个和最后一个位置给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标

    34. 在排序数组中查找元素的第一个和最后一个位置 难度中等2012 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target.请你找出给定目标值在数组中的开始位置和结束位置. 如果 ...

最新文章

  1. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用
  2. 前端技术选型的遗憾和经验教训
  3. 点击下载!《阿里云SRE技术期刊》2021年5月刊发布啦!
  4. 国内最大.NET平台重金招募中 你竟然还不知道?
  5. Linux 系统应用编程——网络编程(利用TCP/IP 模型分析数据传输过程)
  6. python opencv输出mp4_Python玩转视频处理(四):视频按场景进行分割
  7. mysql 开启远程访问_QxOrm 访问 MySQL
  8. 蚂蚁集团涵畅:再启程,Service Mesh 前路虽长,尤可期许
  9. php post 400,post数据时报错:远程服务器返回错误: (400) 错误的请求。
  10. 前端:JS/28/CSS DOM动态样式(style对象,style 对象属性与CSS属性的转换),Event DOM,事件对象简介(DOM和IE中的Event对象),实例:点出满天小星星
  11. easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  12. getAttribute和getParameter的区别
  13. 西威变频器avo下载调试资料_小白妙招 | G120/G120C 变频器模拟量断线速度保持
  14. 一元多次方程近似解法
  15. 学计算机后期制作,后期制作
  16. 公有云、私有云、私有化_私有云与公共云的评估
  17. epoll精粹二 - Linux C++网络编程(二十三)
  18. 高通 Hexagon V65 HVX 编程参考手册(1)
  19. 研究日记:虚拟歌姬自动调教之歌曲音频切割的问题
  20. 平板触控笔有哪些用途?超高性价比的触控笔推荐

热门文章

  1. 【操作系统】进程调度(4):I/O、不可预测的运行时间
  2. libevent项目分析(一) -- 准备阶段
  3. React面试题总结,就是这么简单
  4. Codeforces 408D Long Path (DP)
  5. 文件2. 文件重命名
  6. mac下的svn服务器建立
  7. Xcode:Foundation框架找不到,或者是自动提示出现问题
  8. JAVA程序员面试必知32个知识点
  9. web性能测试分析-工具篇
  10. 使用Apriori进行关联分析(一)