力扣刷题

二分法代码模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int search(vector<int> &nums, int L,int R,int target){
//二分查找法
int result;
while(L<=R){ //边界判断条件:最后划分到只剩下一个元素时停止 ****重要
//中间值定义
int mid =L+(R-L+1)/2;
//进行中间值检查
result =nums[mid];
if(result ==target){
return mid;
}
else if(result >target){
R =L -1; //每次截取的范围 左闭右闭区间
}
else {
L=mid+1 //下一个范围
}

}