直接上代码吧:
class Solution(object):
def coinChange(self, coins, amount):
"""
:type coins: List[int]
:type amount: int
:rtype: int
"""
if amount==0:
return 0
output = [0x7fffffff]*(amount+1)
output[0] = 0
for i in range(amount+1):
for j in range(len(coins)):
if i>=coins[j] and output[i-coins[j]]!=0x7fffffff:
output[i] = min(output[i],output[i-coins[j]]+1)
if output[amount]==0x7fffffff:
return -1
else:
return output[amount]