目录
一、为什么可以二分
二、二分范围
三、判断函数
四、JS 实现
五、例子
试 k = 4
试更小 k = 3
六、时间复杂度
七、面试回答模板
八、完整可运行代码
九、一句话总结
“猴子吃香蕉”这类题,面试里最常见指的是这道:
有
n堆香蕉,piles[i]表示第i堆香蕉数量。
猴子每小时可以选择一堆香蕉,吃掉k根。
如果这堆不足k根,就这一小时吃完这一堆。
现在有h小时,求猴子吃完所有香蕉的最小速度k。
这题本质是:
二分查找答案
一、为什么可以二分
假设吃香蕉速度是 k。
那么吃完一堆 pile&n