原创不易~看完若对你有所帮助,记得点一个赞哈,这就是对我最大的支持了!
这里主要通过三个问题来引出二分法的基本使用和扩展

问题1-经典二分
这个二分法最基本的使用,针对有序数组,以两等分方式递归找寻目标数字(通过比较二分值和目标值大小来选择下一次二分区间)

这里时间复杂度是以2为底对数,例如8个数字找1个,最多对半3次 log2^8 = 3

问题2-找某个区间的位置

看到有序,可以想一想二分算法,这里也是可以通过二分来解决的。
二分,判断二分值(这个位置通过index记录)和3关系,比3大或者等于3,去二分值左侧再二分,否则去右侧二分,同时通过一个变量记录3的最左侧变量位置&#