思路:二分答案
和LeetCode这道题基本上一模一样,没有写过二分答案的同学可以先去写一下这道题:875. 爱吃香蕉的珂珂 - 力扣(LeetCode)\
首先,考虑一种没办法吃完所有桃树的情况,因为一次最多只能吃一棵桃树,如果桃树的总数量n比h还要大,那一定是不能满足条件的,直接输出0即可
由于,吃的速度k越大,越容易满足条件,极端情况下,k取正无穷,是一定可以满足条件的,反之k越小,则越不容易满足条件,因此是符合单调性的,可以使用二分查找求解。
二分速度k,假设当前的速度为mid,则可以遍历数组,维护一个变量cnt表示吃完所有香蕉所需要的时间,对于x根香蕉来说,所需要的时间为midx上取整,因此累加midx+mid−1即可,最终判断是否有cnt≤h。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写