当前位置:首页 > 编程笔记 > 正文
已解决

力扣labuladong——一刷day24

来自网友在路上 163863提问 提问时间:2023-11-11 14:45:26阅读次数: 63

最佳答案 问答题库638位专家为你答疑解惑

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣34. 在排序数组中查找元素的第一个和最后一个位置


前言


一文搞懂二分查找,左闭右闭,或者左闭右开,以及寻找左右边界

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

class Solution {public int[] searchRange(int[] nums, int target) {int[] res = new int[]{-1,-1};int left = 0, right = nums.length-1;while(left <= right){int mid = left + (right-left)/2;if(nums[mid] == target){right = mid-1;}else if(nums[mid] > target){right = mid -1;}else{left = mid+1;}}if(left >= 0 && left <= nums.length-1){res[0] = nums[left] == target ? left : -1;}left = 0; right = nums.length-1;while(left <= right){int mid = left + (right-left)/2;if(nums[mid] == target){left = mid+1;}else if(nums[mid] > target){right = mid -1;}else{left = mid + 1;}}if(right >= 0 && right <= nums.length-1){res[1] = nums[right] == target ? right : -1;}return res;}
}
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"力扣labuladong——一刷day24":http://eshow365.cn/6-37684-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!