c++根据二分查找的数组中没有重复的元素分为两种情况讨论
#这个只是适用一般的情况
情况1:
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int lower_bound(vector<int>& nums, int target)//左闭右开的区间
{
int low = 0, high = nums.size();
while (low<high)
{
int mid = low + ((high - low) >> 1);
if (nums[mid] > target)
high = mid;
else if(nums[mid]<target)
low = mid + 1;
else
return mid;
}
return low;
}
int lower_bound2(vector<int