class Solution {
public:
vector<int> searchRange(vector<int>& nums, int target) {
int start = binary_search(nums,target);
if(start == nums.size()||nums[start] != target) return {-1,-1};
int end = binary_search(nums,target+1) - 1;
return {start,end};
}
int binary_search(vector<int>& nums, int target)
{
int left = 0;
int right = nums.size();
while(left < right)
{
int mid = left + (right-left) / 2;
if(nums[mid] < target) left = mid + 1;
else right = mid;
}
return left;
}
};
leetcode每日一题第八十三天
最新推荐文章于 2024-08-26 22:22:22 发布