Даны монеты различных номиналов coins и сумма amount. Верните минимальное количество монет, необходимое для набора суммы. Если сумму невозможно набрать, верните -1.
Каждый номинал монеты можно использовать неограниченное количество раз.
def coin_change(coins: list[int], amount: int) -> int:
coin_change([1, 5, 11], 15) → 3 # (5 + 5 + 5)
coin_change([2], 3) → -1
coin_change([1], 0) → 0
- 1 ≤ len(coins) ≤ 12
- 1 ≤ coins[i] ≤ 2³¹ - 1
- 0 ≤ amount ≤ 10⁴
coins = [1,5,11]amount = 153coins = [2]amount = 3-1coins = [1]amount = 00