Loading...
Loading...
Loading...
Koko loves to eat bananas. There are n piles of bananas, the i-th pile has piles[i] bananas. The guards have gone and will come back in h hours.
Koko can decide her bananas-per-hour eating speed of k. Each hour, she chooses some pile and eats k bananas from it. If the pile has less than k bananas, she eats all of them and stops for the hour.
Return the minimum integer k such that she can eat all the bananas within h hours.
Input: Array piles, integer h.
Output: Minimum eating speed k.
Input: piles = [3,6,7,11], h = 8 → Output: 4
Input: piles = [30,11,23,4,20], h = 5 → Output: 30
Input: piles = [30,11,23,4,20], h = 6 → Output: 23
k in range [1, max(piles)].k, hours needed = sum(ceil(p / k) for p in piles). If hours <= h, k works → search lower; else search higher.(p + k - 1) // k for ceiling division (avoid float).1 <= piles.length <= 10^4 piles.length <= h <= 10^9 1 <= piles[i] <= 10^9