二分查找
二分查找
记忆最简单的一种
- 开区间,不加减,更新左右的时候直接更新,不需要加1减1这种操作
- 要什么,第一个判断就是什么,比如需要小于等于,那么第一个判断就是中点值是否小于等于
- 第一个是什么,返回什么,比如第一个判断是小于等于,小于等于自然更新的是$l$,因此答案就是$l$
小于等于目标的最大位置
1 | int find(int[] a, int q) { |
大于等于目标的最小位置
1 | int find(int[] a, int q) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zaizwk!