Skip to content
Leetcode
Esc
↑↓navigate↵open⌘Jpreview
On this page

875. Koko Eating Bananas

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

Array

Example 1:

  • Input: piles = [3,6,7,11], h = 8
  • Output: 4

Example 2:

  • Input: piles = [30,11,23,4,20], h = 5
  • Output: 30

Example 3:

  • Input: piles = [30,11,23,4,20], h = 6
  • Output: 23

Constraints:

  • 1 <= piles.length <= 10^4
  • piles.length <= h <= 10^9
  • 1 <= piles[i] <= 10^9

Approach

Solution

/**
 * @param {number[]} piles
 * @param {number} h
 * @return {number}
 */
var minEatingSpeed = function(piles, h) {
  // Function to determine if K works for the H
   function kWorks(k){
    let hours = 0;
    for (let p of piles){
      hours += Math.ceil(p/k)
    }
    return hours <= h;
  }

  // Setup Binary Search
  let l = 1;
  let r = Math.max(...piles);

  // Find the K value which works for H and consumes all bananas
  while (l < r){
    const mid = Math.floor((l + r) / 2);
    if (kWorks(mid)){
      r = mid;
    }else{
      l = mid + 1;
    }
  }
  return l;
};

Explanation

Last updated on September 24, 2026

Was this page helpful?