class Solution {
public:
int search(vector<int>& nums, int target) {
//采用基础框架
int left = 0, right = nums.size()-1;
while(left <= right){
int mid = left+(right-left)/2;
if(nums[mid] == target){
return mid;
}
else if(nums[mid]>target){
right = mid-1;
}
else if(nums[mid]<target){
left = mid+1;
}
}
return -1;
}
};
一、查找某个元素的左边界,不存在返回-1:
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0, right = nums.size();
while(left < right){
int mid = left+(right-left)/2;
if(nums[mid] == target){
r