每日一题ing,今天是个medium题34. Find First and Last Position of Element in Sorted Array
class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
int l=0,r=nums.size()-1,mid=0;
while(l<=r){
mid=(l+r)/2;
if(target>=nums[mid]){
l=mid+1;
}
else if(target<nums[mid]){
r=mid-1;
}
}
vector<int> ret(2,-1);
if(r==-1||nums[r]!=target){
return ret;
}
int i=r;
while(i>=0&&nums[i]==target){
i--;
}
ret[0]=i+1;
int j=r;
while(j<=nums.size()-1&&nums[j]==target){
j++;
}
ret[1]=j-1;
return ret;
}
};