一、二分查找是什么?
二分查找,顾名思义,就是将搜索范围分成两半,每次取中间位置 mid,根据某个条件判断答案在左边还是右边,然后排除一半搜索范围。它的核心思想是高效利用有序数组的特性,通过不断缩小搜索范围来快速找到目标值。
二、什么场景下用二分查找?
1、有序数组中查找元素
2、有序数组中查找边界
3、数组整体不是完全有序,但局部有序
4、答案具有单调性
三、二分查找的通用解题套路
1. 明确搜索范围
2. 明确 mid 的含义
3. 判断答案在左边还是右边
4. 更新边界
5. 返回答案
四、最常用的二分模板:闭区间模板
五、模板一:普通二分查找
六、题目一:搜索旋转排序数组
七、模板二:查找左边界
八、模板三:查找右边界
九、题目二:在排序数组中查找元素的第一个和最后一个位置
十、模板四:二分答案
十一、题目三:员工派遣
十二、二分查找的通用模板总结
十三、二分查找的解题套路总结
十四、三道题对应的二分类型
十五、二分查找常见错误
十六、最后总结
二分查找的核心思想是每次取中间位置 mid,根据某个条件判断答案在左边还是右边,然后排除一半搜索范围。例如在有序数组中查找 target:
nums = [1, 3, 5, 7, 9, 11]
target = 7第一次取中间:
mid = 2
nums[mid] = 5因为:
5 < 7所以 target 不可能在左边,只能在右边。
