Top 150-InterviewEinfach

Koko isst Bananen

Detaillierte Anleitung und Python-Implementierung für das Problem „Koko Eating Bananas“.

Problemstellung

Einfach

Koko isst gerne Bananen. Es gibt n Stapel Bananen, der i. Stapel enthält piles[i] Bananen. Die Wachen sind gegangen und werden in h Stunden zurückkommen.

Koko kann ihre Bananenfressgeschwindigkeit pro Stunde auf k festlegen. Jede Stunde wählt sie einen Stapel Bananen aus und isst k Bananen von diesem Stapel. Wenn der Stapel weniger als k Bananen enthält, isst sie stattdessen alle und isst in dieser Stunde keine weiteren Bananen.

Koko isst gerne langsam, möchte aber trotzdem alle Bananen aufessen, bevor die Wachen zurückkommen.

Geben Sie die minimale Ganzzahl k zurück, damit sie alle Bananen innerhalb von h Stunden essen kann.

Schreiben Sie eine Funktion minEatingSpeed(piles: List[int], h: int) -> int.

Einschränkungen
  • 1 <= len(piles) <= 10^4
  • len(piles) <= h <= 10^9
  • 1 <= piles[i] <= 10^9

Beispiele

Example 1
Input
piles = [3, 6, 7, 11], h = 8
Output
4
Explanation

At speed 4: pile 3 takes 1 hour, pile 6 takes 2 hours, pile 7 takes 2 hours, pile 11 takes 3 hours. Total = 8 hours.

Example 2
Input
piles = [30, 11, 23, 4, 20], h = 5
Output
30
Explanation

At speed 30: each pile takes 1 hour. Total = 5 hours.

Example 3
Input
piles = [30, 11, 23, 4, 20], h = 6
Output
23
Explanation

At speed 23: piles take 2+1+1+1+1 = 6 hours.

Need a Hint?
Erwägen Sie die Verwendung spezieller Datenstrukturen für die binäre Suche wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.