class Solution {
public int[] searchRange(int[] nums, int x) {
if (nums == null || nums.length == 0) return new int[]{
-1,-1};
int l = 0,r = nums.length - 1;
while (l < r) {
int mid = l + r >> 1;
if (nums[mid] >= x) r = mid;
else l = mid + 1;
}
int ans1 = l;
if (nums[l] != x) return new int[]{
-1,-1};
else {
l = 0;
r = nums.length - 1;
while (l < r) {
int mid = l + r + 1 >> 1;
if (nums[mid] <= x) l = mid;
else r = mid - 1;
}
}
return new int[]{
ans1,l};
}
}
(二分法)力扣34.在排序数组中查找元素的第一个和最后一个位置
猜你喜欢
转载自blog.csdn.net/Sherlook_Holmes/article/details/121209629
今日推荐
周排行