二分搜索再探
# 前言
经典的二分查找写法,相信许多人都动手写过,但是在编写代码的过程中,经常遇到类似这样的问题:
如何确定起始端点下标 LLL 和 RRR 的位置?是写成闭区间还是开区间?
如何确定循环结束条件?是 L<RL < RL<R 还是 L≤RL\le RL≤R ?
如果确定下标的变化方式?是直接赋值 MMM 给 LLL 或者 RRR,还是需要 +1+1+1 或者 −1-1−1 ?
最后返回 LLL 还是 RRR ?还是其他形式?
二分查找代码虽然只有短短数行,但是这些问题让编写正确的代码显得非常棘手。在之前的文章《二分搜索探究》中我曾经编写过当时的心得体会。最近在复习的时候
more...