Menu
CoddyTech

Koko Eating Bananas

У Коко есть n куч бананов, в куче i находится piles[i] бананов, и у неё есть h часов. Она выбирает скорость поедания k — целое количество бананов в час — и придерживается её. Каждый час она съедает k бананов из одной кучи; если в куче осталось меньше k бананов, она доедает их и отдыхает до конца часа. Верните минимальное значение k, при котором она сможет съесть все бананы из всех куч за h часов.

Функция

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
количество бананов в каждой куче
hinteger
количество часов, которое есть у Коко
Возвращаетinteger
наименьшая целая скорость поедания бананов (бананов в час), при которой все стопки будут съедены за h часов

Ограничения

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, поэтому ответ всегда существует.

Примеры

Ввод
piles = [4, 10, 7, 3]h = 6
Вывод
5
Пояснение
При скорости 5 на стопки 4, 10, 7 и 3 уйдёт 1, 2, 2 и 1 час: всего 6, что укладывается в лимит. При скорости 4 на них уйдёт 1, 3, 2 и 1 час, то есть 7.
challenge icon

Дополнительный вопрос

Задача о Коко: Коко съедает целые груды бананов по порядку, не более k бананов в день, за d дней. Каково наименьшее значение k и что меняется в вашем поиске?

Сбросить код
def minEatingSpeed(piles, h):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

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

Ожидаемый вывод

5