
【数据结构与算法】二分搜索入门
非常经典的一道题目,这个二分条件比较难思考,有点像数学里面的极值点,最关键的条件在于,数组中相邻元素不等,想象一条函数曲线,如果相邻元素不等,那么就意味着曲线是“光滑”的,左边上升右边下降,则中间必然会存在峰值(极值)。2.如不是,那么开头必然上扬,结尾必然下降,中间又没有相等的点,所以根据费马引理,必然存在极值点,根据这个条件,那我就可以卡着中点看一下,进行二分的操作,这是非常非常巧妙的思想。下面的文件给出了所有的解答,全部是我写的,难的地方标记有详细的注释。峰值162T,在无序数组上也能二分!





















