思路:
二分法找到一个target可以对应的位置,然后分别往左和往右寻找边界
代码:
public class Solution34 {
public int[] searchRange(int[] nums, int target) {
//使用33题里写的find方法
int tar = Solution33.find(nums, 0, nums.length - 1, target);
int a = tar, b = tar;
while (a > 0) {
if (nums[--a] != target) {
a++;
break;
}
}
while (b < nums.length - 1) {
if (nums[++b] != target) {
b--;
break;
}
}
return new int[]{a,b};
}
}