Задача 13: Мешок с жетонами

Напишите определение функции bagOfTokensScore(tokens, power), которая принимает массив целых чисел tokens и целое число power, представляющее начальную силу. Функция должна вернуть максимально возможный счет, который можно набрать, разыгрывая жетоны. За один ход можно разыграть жетон двумя способами:

  • Открыть жетон: если текущая сила (power) не меньше значения жетона, можно уменьшить силу на значение жетона и увеличить счет на 1.
  • Закрыть жетон: если счет (score) не меньше 1, можно увеличить силу на значение жетона и уменьшить счет на 1.

Максимизируйте общий счет.

Пример 1:

Ввод: tokens = [100], power = 50
Вывод: 0
Пояснение: Мы не можем открыть или закрыть жетоны, так как сила меньше значения жетона и счет равен 0.

Пример 2:

Ввод: tokens = [200,100], power = 150
Вывод: 1
Пояснение: Мы открываем жетон с значением 100, уменьшаем силу до 50 и увеличиваем счет на 1.
Максимально возможный счет равен 1.

Пример 3:

Ввод: tokens = [100,200,300,400], power = 200
Вывод: 2
Пояснение: Мы открываем жетон с значением 100, затем закрываем жетон с значением 400, увеличивая силу до 500 и уменьшая счет до 0. После этого открываем жетоны с 200 и 300, максимизируя счет до 2.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии