Problems / Koko Eating Bananas
Medium

Koko Eating Bananas

Medium 0 submissions 25 coins +100 XP
Array Binary Search
Problem Description
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 of bananas and eats `k` bananas from that pile. If the pile has less than `k` bananas, she eats all of them instead and will not eat any more bananas during this hour. Koko likes to eat slowly but still wants to finish eating all the bananas before the guards return. Return the **minimum** integer `k` such that she can eat all the bananas within `h` hours. **Example 1:** ``` Input: piles = [3,6,7,11], h = 8 Output: 4 Explanation: With speed 4: hours = ceil(3/4)+ceil(6/4)+ceil(7/4)+ceil(11/4) = 1+2+2+3 = 8. ``` **Example 2:** ``` Input: piles = [30,11,23,4,20], h = 5 Output: 30 Explanation: Must eat at least one pile per hour; max pile is 30. ``` **Example 3:** ``` Input: piles = [30,11,23,4,20], h = 6 Output: 23 Explanation: With speed 23: hours = ceil(30/23)+ceil(11/23)+ceil(23/23)+ceil(4/23)+ceil(20/23) = 2+1+1+1+1 = 6. ```
Constraints
- `1 <= piles.length <= 10^4` - `piles.length <= h <= 10^9` - `1 <= piles[i] <= 10^9`

Need help?

Connect with expert programmers for real-time collaborative coding, video meetings, and whiteboard sessions via CodeConnect.

Video Call Whiteboard Live Coding Screen Share