题目链接:875. 爱吃香蕉的珂珂
二分查找。
from typing import List
class Solution:
def _min_eating_speed(self, piles: List[int], h: int, k: int) -> bool:
return sum((pile + k - 1) // k for pile in piles) <= h
def minEatingSpeed(self, piles: List[int], h: int) -> int:
assert len(piles) <= h
upper, lower = max(piles), 1
while lower < upper:
mid = (lower + upper) // 2
if self._min_eating_speed(piles, h, mid):
upper = mid
else:
lower = mid + 1
return lower