算法第二章实践

第一题,一道二分的裸题,敲个二分记录下比较次数就好了。因为挺简单的所以没遇到什么bug.

第二题,记录下i和j,再判断下有没有x就好了。

第三题,想了一会,只需要中位数,那么对于中位数的前部分跟后部分是可以不用管的,所以每次二分保留中间的数,并且数量至少要有两个数组和的一半,就可以保证中位数一直在二分的范围内,最后找出最中间的四个数,比较一下就可以得出。卡了一会的点是最大N,只需要在R_mid求的时候+1,就可以保证每次二分都是对称的,以免造成不必要的bug。

总结:二分是个挺基础也挺实用的算法,只要把主要核心理解了就可以掌握了,至于怎么二分看具体的题目就ok了

原文地址:https://www.cnblogs.com/jjmmboom/p/11569781.html