Menu
CoddyTech

Koko Eating Bananas

Koko ha n mucchi di banane, con piles[i] banane nel mucchio i, e h ore. Sceglie una velocità di consumo k, un numero intero di banane all’ora, e la mantiene. Ogni ora mangia k banane da un mucchio; se in quel mucchio ne restano meno di k, lo finisce e si riposa fino alla fine dell’ora. Restituisci il valore minimo di k che le permette di finire tutti i mucchi entro h ore.

Funzione

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
il numero di banane in ogni mucchio
hinteger
il numero di ore che Koko ha
Restituisceinteger
la velocità di consumo minima intera, in banane all’ora, che permette di finire ogni mucchio entro h ore

Vincoli

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, quindi esiste sempre una risposta.

Esempi

Input
piles = [4, 10, 7, 3]h = 6
Output
5
Spiegazione
Alla velocità 5, le pile 4, 10, 7 e 3 richiedono 1, 2, 2 e 1 ore: 6 in totale, che rientrano nel limite. Alla velocità 4 richiedono 1, 3, 2 e 1 ore, per un totale di 7.
challenge icon

Per approfondire

Twin problem: Koko mangia pile intere in ordine, al massimo k banane al giorno, entro d giorni. Qual è il valore minimo di k e cosa cambia nella tua ricerca?

Ripristina il codice
def minEatingSpeed(piles, h):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

5