leetcode 二分查找应用
34. Find First and Last Position of Element in Sorted Array
代码:
class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {int low = lowwer_bound(nums,target);int high = upper_bound(nums,target);if(low == high)return {-1,-1};return {low,high-1};}int lowwer_bound(vector<int>& nums,int target){int left = 0;int right = nums.size();int mid = 0;while(left < right){mid = left + ((right-left)>>1);if(nums[mid]>=target){right = mid;}else{left = mid + 1;}}return left;}int upper_bound(vector<int>& nums,int target){int left = 0;int right = nums.size();int mid = 0;while(left < right){mid = left + ((right - left)>>1);if(nums[mid]>target){right = mid;}else{left = mid +1;}}return left;}
};