跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

二分查找,你真的懂了吗?

一、二分查找是什么?

二分查找,顾名思义,就是将搜索范围分成两半,每次取中间位置 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 不可能在左边,只能在右边。

相关文章