class Solution {
public int[] searchRange(int[] nums, int target) {
int n = nums.length;
int l = 0, r = n - 1, sign = -1;
while (l <= r) {
int mid = (l + r) / 2;
if (nums[mid] == target) {
sign = mid;
break;
} else if (nums[mid] < target) {
l = mid + 1;
} else {
r = mid - 1;
}
}
if (sign != -1) {
int left = sign;
while (left > -1 && nums[left] == target) left--;
int right = sign;
while (right <n && nums[right] == target) right++;
return new int[]{left + 1, right - 1};
}
return new int[]{-1, -1};
}
}