Размен монет

Medium
Dynamic ProgrammingArrayTinkoff

Дан массив монет различных номиналов coins и целое число amount. Верните минимальное количество монет, необходимых для составления суммы amount. Если сумму невозможно набрать — верните -1.

Количество монет каждого номинала не ограничено.

coinChange([1,5,10], 12)  // => 3 (10+1+1)
coinChange([2], 3)         // => -1

Ограничения

  • 1 <= coins.length <= 12
  • 1 <= coins[i] <= 2^31 - 1
  • 0 <= amount <= 10^4

Примеры

Пример 1
Вход:
coins = [1,5,10], amount = 12
Выход:
3
Пример 2
Вход:
coins = [2], amount = 3
Выход:
-1
Пример 3
Вход:
coins = [1], amount = 0
Выход:
0
Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода