题目描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/5b27cd415a2e44c29e56e398466a6bb5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Lqr5b2x546L5bqn,size_20,color_FFFFFF,t_70,g_se,x_16)
Java解决方法
class Solution {
public int[] searchRange(int[] nums, int target) {
int[] ret = new int[2];
int pos = search(nums,0,nums.length - 1,target);
if(pos == -1 || (nums.length == 0))
{
ret[0] = -1;
ret[1] = -1;
return ret;
}
int st = pos;
int en = pos;
while(st >= 0 && nums[st] == target)
{
st--;
}
while(en <= nums.length - 1 && nums[en] == target)
{
en++;
}
ret[0] = ++st;
ret[1] = --en;
return ret;
}
private int search(int[] nums,int start,int end,int target)
{
if(start > end)
{
return -1;
}
int mid = (start + end) / 2;
if(nums[mid] == target)
{
return mid;
}
else if(nums[mid] < target)
{
return search(nums,mid + 1,end,target);
}
else
{
return search(nums,start,mid - 1,target);
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/8107a56514054898a9603f2bbcf6d8aa.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Lqr5b2x546L5bqn,size_20,color_FFFFFF,t_70,g_se,x_16)