coin-change
unknown
python
3 years ago
322 B
4
Indexable
import math, functools
coins = [1,2,5]
amount = 11
@functools.cache
def M(i, n):
if n == 0: return 0
if n < 0: return math.inf
if i < 0: return math.inf
take_coin = 1 + M(i, n-coins[i])
skip_coin = M(i-1, n)
return min(take_coin, skip_coin)
print(M(len(coins)-1, amount))
Editor is loading...