概念

二分查找的概念还是很好理解的,适用的场景也很好判断,记住以下两点,基本跑不掉二分查找:

  1. 给定一个有序数组(或就是一个数,但类似也是从一个起点顺序开始到终点的)
  2. 要找到一个目标值

然后怎么用二分呢,无非就是一半半的看,不断缩小范围,最后最小范围就得到答案,但是很容易出现边界不清问题,这里给出窍门:

  1. 二分结束标志设为 left <= right
  2. 随之每次缩小范围时要么 left = middle +1,要么 right = middle -1

无脑记住这样就行,不用再烦恼边界的问题,好好思考不同题目该怎么找到目标值。

解题案例

二分查找

第一个错误的版本

搜索插入位置

Sqrt(x)