vector<int> searchRange(vector<int>& nums, int target) {
vector<int> ans(2,-1);
bool f=false,r=false;
int n=nums.size();
int i=0,j=n-1;
while(i<=j) {
if (nums[i] != target)i++;
else if (!f) {
ans[0]=i;
f = true;
}
if (nums[j] != target)j--;
else if (!r) {
ans[1]=j;
r = true;
}
if(f && r)break;
}
return ans;
}
vector<int> searchRange(vector<int>& nums, int target) {
int start=0,end=nums.size(),mid=0;
while(start<end) {
mid=(start+end)/2;
if(nums[mid]>=target) end=mid;
else start=mid+1;
}
int left=start;
start=0;end=nums.size();
while(start<end) {
mid=(start+end)/2;
if(nums[mid]>target) end=mid;
else start=mid+1;
}
int right=start;
if(left==right) return {-1,-1};
else return {left,right-1};
}