34. Find First and Last Position of Element in Sorted Array
思路分析
代码实现
class Solution {
int SL(int[] nums,int target){
int l=0,r=nums.length-1;
while(l<r){
int mid = l+r>>1;
if(nums[mid]>=target){
r=mid;
}else{
l=mid+1;
}
}
return r;
}
int SR(int[] nums,int target){
int l=0,r=nums.length-1;
while(l<r){
int mid = l+r+1>>1;
if(nums[mid]<=target){
l=mid;
}else{
r=mid-1;
}
}
return r;
}
public int[] searchRange(int[] nums, int target) {
if (nums.length == 0) {
return new int[]{-1, -1};
}
int[] ans = new int[2];
int l=SL(nums,target);
if (nums[l] != target) {
return new int[]{-1, -1};
}
int r=SR(nums,target);
ans[0] = l;
ans[1] = r;
return ans;
}
}
同类题型
视频讲解
💬 评论