Menu
CoddyTech

Koko Eating Bananas

Koko ma n stosów bananów, przy czym w stosie i znajduje się piles[i] bananów, oraz h godzin. Wybiera prędkość jedzenia k, czyli całkowitą liczbę bananów na godzinę, i je w tym tempie. W każdej godzinie zjada k bananów z jednego stosu; jeśli zostanie w nim mniej niż k bananów, zjada je do końca i odpoczywa do końca tej godziny. Zwróć najmniejsze k, które pozwoli jej zjeść wszystkie banany ze wszystkich stosów w ciągu h godzin.

Funkcja

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
liczba bananów w każdej stercie
hinteger
liczba godzin, które ma Koko
Zwracainteger
najmniejsza całkowita prędkość jedzenia, wyrażona w bananach na godzinę, która pozwala zjeść wszystkie stosy w ciągu h godzin

Ograniczenia

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, więc odpowiedź zawsze istnieje.

Przykłady

Wejście
piles = [4, 10, 7, 3]h = 6
Wyjście
5
Wyjaśnienie
Przy prędkości 5 stosy 4, 10, 7 i 3 zajmują odpowiednio 1, 2, 2 i 1 godzinę: łącznie 6, co się mieści. Przy prędkości 4 zajmują 1, 3, 2 i 1 godzinę, czyli 7.
challenge icon

Pytanie dodatkowe

Twin problem: Koko zjada całe stosy po kolei, najwyżej k bananów dziennie, w ciągu d dni. Jakie jest najmniejsze k i co zmienia się w twoim wyszukiwaniu?

Zresetuj kod
def minEatingSpeed(piles, h):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

5