Menu
CoddyTech

Koko Eating Bananas

MittelBinäre Suchepython iconjava iconcpp iconc iconjs icon+10

Koko hat n Bananenstapel, wobei sich piles[i] Bananen in Stapel i befinden, und h Stunden Zeit. Sie wählt eine Essgeschwindigkeit k, eine ganze Anzahl Bananen pro Stunde, und behält diese bei. Jede Stunde isst sie k Bananen aus einem Stapel; wenn sich in diesem Stapel weniger als k Bananen befinden, isst sie ihn vollständig auf und ruht sich aus, bis die Stunde vorbei ist. Gib das kleinste k zurück, mit dem sie alle Stapel innerhalb von h Stunden aufessen kann.

Funktion

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
die Anzahl der Bananen in jedem Stapel
hinteger
die Anzahl der Stunden, die Koko hat
Gibt zurückinteger
die kleinste ganzzahlige Essgeschwindigkeit in Bananen pro Stunde, mit der alle Haufen innerhalb von h Stunden aufgegessen werden

Einschränkungen

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, also existiert immer eine Antwort.

Beispiele

Eingabe
piles = [4, 10, 7, 3]h = 6
Ausgabe
5
Erklärung
Bei Geschwindigkeit 5 dauern die Stapel 4, 10, 7 und 3 jeweils 1, 2, 2 und 1 Stunden: insgesamt 6, was passt. Bei Geschwindigkeit 4 dauern sie 1, 3, 2 und 1 Stunden, also 7.
challenge icon

Weiterführende Frage

Verwandtes Problem: Koko isst ganze Haufen der Reihe nach, höchstens k Bananen pro Tag, innerhalb von d Tagen. Was ist das kleinste k, und was ändert sich bei deiner Suche?

Code zurücksetzen
def minEatingSpeed(piles, h):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

piles = [4, 10, 7, 3]
h = 6

Erwartete Ausgabe

5