网址
题目
给定一个从小到大排列的数组和一个数,寻找这个数在数组中的位置。
解法
class Solution {
public int[] searchRange(int[] nums, int target) {
int start = 0, end = nums.length - 1;
int[] ans = {-1, -1};
while(start <= end){
int mid = (start + end) / 2;
if(nums[mid] == target){
ans[0] = mid; ans[1] = mid;
break;
}else if(nums[mid] < target){
start = mid + 1;
}else{
end = mid - 1;
}
}
if(ans[0] != -1){
while(ans[0] >= 1 && nums[ans[0] - 1] == target){
ans[0]--;
}
while(ans[1] < nums.length - 1 && nums[ans[1] + 1] == target){
ans[1]++;
}
}
return ans;
}
}