裸二分函数模板,是力扣的一道题
就是需要注意一下边界问题就行,不然容易死循环
二分查找题目链接
下面代码实现的是返回target出现的第一个位置,若没找到则返回-1
class Solution {
public:
int search(vector<int>& nums, int target) {
int l=0,r=nums.size()-1;
while(l<r)
{
int mid=l+r>>1;
if(nums[mid]>=target) r=mid;
else l=mid+1;
}
return nums[r]==target?r:-1;
}
};