class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target)
{
const int n=nums.size();
vector<int> res(2,-1);
int start=0;int end=n-1;
while(start<=end)
{
int mid=start+(end-start)/2;
if(nums[mid]>target)
end=mid-1;
else if(nums[mid]<target)
start=mid+1;
else
{
if(mid==0 || nums[mid-1]!=target)
{
res.clear();
res.push_back(mid);
break;
}
else
end=mid-1;
}
}
start=0; end =n-1;
while(start<=end)
{
int mid=start+(end-start)/2;
if(nums[mid]>target)
end=mid-1;
else if(nums[mid]<target)
start=mid+1;
else
{
if(mid==n-1 || nums[mid+1]!=target)
{
res.push_back(mid);
break;
}
else
start=mid+1;
}
}
return res;
}
};