Menu
CoddyTech

Koko Eating Bananas

Koko a n tas de bananes, avec piles[i] bananes dans le tas i, et h heures. Elle choisit une vitesse de consommation k, un nombre entier de bananes par heure, et la conserve. Chaque heure, elle mange k bananes dans un tas ; s'il en reste moins de k dans ce tas, elle le termine et se repose jusqu'à la fin de l'heure. Retournez la plus petite valeur de k qui lui permet de finir tous les tas en h heures.

Fonction

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
le nombre de bananes dans chaque tas
hinteger
le nombre d’heures dont dispose Koko
Renvoieinteger
la plus petite vitesse entière de consommation, en bananes par heure, qui permet de finir chaque tas en h heures

Contraintes

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, donc une réponse existe toujours.

Exemples

Entrée
piles = [4, 10, 7, 3]h = 6
Sortie
5
Explication
À la vitesse 5, les piles 4, 10, 7 et 3 prennent 1, 2, 2 et 1 heures : 6 au total, ce qui convient. À la vitesse 4, elles prennent 1, 3, 2 et 1, soit 7.
challenge icon

Pour aller plus loin

Problème des bananes : Koko mange des piles entières dans l’ordre, au plus k bananes par jour, en d jours. Quelle est la plus petite valeur de k, et que changez-vous dans votre recherche ?

Réinitialiser le code
def minEatingSpeed(piles, h):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

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

Résultat attendu

5