一、left <= right
1.初始化:
int left = 0;
int right = nums.size() - 1;
2.循环条件
left <= right(左闭右闭)
3.查询条件
>= target, 则 nums[mid] >= target, right = mid - 1
> target, 则 nums[mid] > target时, right = mid - 1
<= target, 则 nums[mid] <= target时, left = mid + 1
< target, 则 nums[mid] < target时, left = mid + 1
4.return
>||>= return left
<||<= return right
二、left < right
不同点:
1.循环条件 left<right
2.return left,因为是以left逐渐逼近答案
3. right=mid
三、相关题目
1.旋转排序数组
1.1找目标值
1.2找最小值
2.寻找峰值
3.二分 check 函数如何确定
4.不知道算啥
总结
注意细节