Menu
CoddyTech

Koko Eating Bananas

Koko tiene n montones de plátanos, con piles[i] plátanos en el montón i, y h horas. Elige una velocidad de consumo k, un número entero de plátanos por hora, y la mantiene. Cada hora come k plátanos de un montón; si a ese montón le quedan menos de k, lo termina y descansa hasta que acabe la hora. Devuelve el valor más pequeño de k que le permita terminar todos los montones en un máximo de h horas.

Función

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
el número de bananas en cada pila
hinteger
la cantidad de horas que tiene Koko
Devuelveinteger
la menor velocidad de consumo, en bananas por hora, que termina cada pila en un máximo de h horas

Restricciones

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, por lo que siempre existe una respuesta.

Ejemplos

Entrada
piles = [4, 10, 7, 3]h = 6
Salida
5
Explicación
A velocidad 5, las pilas 4, 10, 7 y 3 tardan 1, 2, 2 y 1 horas: 6 en total, lo cual encaja. A velocidad 4 tardan 1, 3, 2 y 1, que suman 7.
challenge icon

Para ir más allá

Problema gemelo: Koko se come montones enteros en orden, como máximo k plátanos al día, en un plazo de d días. ¿Cuál es el menor valor de k y qué cambia en tu búsqueda?

Restablecer código
def minEatingSpeed(piles, h):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

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

Salida Esperada

5