看了下百度出二分法的介绍,分为两种,
第一种答案:找中间大的k值(但是没有告诉我怎么找)。
第二种答案:代码解析。
郁闷的,搜索一直命中不了我要的答案。
二分法分为两种取中位数的计算
1.最末数组下标为奇数:
数组长度为n,数组下标为0到n-1。中间值分为两种取值方法:上取整和下取整。及中间值有两个结果,代码上使用n/2的方法都是下取整。
2.最末数组下标为偶数:
数组长度为n,中间值为array[n/2]。
中间值的最优写法为low+(high-low)/2,直接low+high会有溢出的风险。