150 najlepszych wywiadówŁatwe

Koko je banany

Szczegółowy przewodnik i implementacja Python dla problemu „Koko jedzącego banany”.

Oświadczenie o problemie

Łatwe

Koko uwielbia jeść banany. Jest n stosów bananów, na i stosie jest piles[i] bananów. Strażnicy odeszli i wrócą za h godzin.

Koko może określić prędkość jedzenia bananów na godzinę wynoszącą k. Co godzinę wybiera stos bananów i zjada k bananów z tego stosu. Jeśli na stosie jest mniej niż k bananów, zamiast tego zjada je wszystkie i nie zje więcej bananów w tej godzinie.

Koko lubi jeść powoli, ale nadal chce zjeść wszystkie banany, zanim wrócą strażnicy.

Zwróć minimalną liczbę całkowitą k taką, aby mogła zjeść wszystkie banany w ciągu h godzin.

Napisz funkcję minEatingSpeed(piles: List[int], h: int) -> int.

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla wyszukiwania binarnego, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.