- 二分查找有几种写法?它们的区别是什么?
- 漫谈二分查找-Binary Search
- Binary Search 总结帖 (更新完) #8
- 【特别推荐】十分好用的二分查找法模板(Python 代码、Java 代码)
- Leetcode分类解析:二分查找
- 二分查找算法细节详解,顺便写了首诗
总结一下,二分查找可能有以下这些难点
-
1.怎么想到使用二分查找?根据题目的提示,例如
lgN时间复杂度
、有序数组
、查找满足XXX条件
,二分可以使用的场景并不是一定要求有序,而是说,通过某一个条件判断,我们可以确定mid的左边或者右边所有的元素都一定不存在
答案或者都一定存在
答案,这样的话,再加上题目不要求我们输出所有满足条件的答案,那么就可以使用二分查找,这样讲可能会有些抽象,以leetcode-162体会一下。 -
2.就是二分查找的一些细节了,
- 上面所说的这些所有的问题,你都确定自己能够完全准确无误的说出来那才证明二分查找掌握的差不多了,并不是每次二分查找的题目能够稀里糊涂的做出来,或者通过用例来慢慢的调整边界胡总是根本都写不出来,我想这些问题的出现都表明了对二分查找的上述细节都还是十分欠缺。