思路:二分查找
public class Solution {
public int[] searchRange(int[] nums, int target) {
int l = search2(nums, target);
int r = search2(nums, target + 1) - 1;
if (l == nums.length || nums[l] != target) {
return new int[]{-1, -1};
}
return new int[]{l, r};
}
public int search2(int[] nums, int target) {
int l = 0, r = nums.length;
while (l < r) {
int mid = (r + l) / 2;
if (nums[mid] >= target)
r = mid;
else
l = mid + 1;
}
return l;
}
}