#力扣 LeetCode 34. 在排序陣列中查詢元素的第一個和最後一個位置 #Java超100% @FDDLC
阿新 • • 發佈:2020-12-18
技術標籤:演算法&資料結構
題目描述:
https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
Java程式碼:
class Solution { //如果陣列中不存在目標值 target,返回 [-1, -1] public int[] searchRange(int[] nums, int target) { //0 <= nums.length <= 105 if(nums.length==0)return new int[]{-1,-1}; int low=0,high=nums.length-1,mid=0,toLeft,toRight; while(low<=high){ mid=(low+high)/2; if(nums[mid]<target)low=mid+1; else if(nums[mid]>target)high=mid-1; else break; } if(nums[mid]!=target)return new int[]{-1,-1}; //不存在 for(toLeft=mid;toLeft>=0&&nums[toLeft]==target;toLeft--); for(toRight=mid;toRight<nums.length&&nums[toRight]==target;toRight++); return new int[]{toLeft+1,toRight-1}; } }