LeetCode 322 零錢兌換 Python

2021-08-28 03:07:43 字數 977 閱讀 3102

leetcode 322 零錢兌換 python

題目描述:

給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回-1

示例 1:

輸入:coins =[1, 2, 5], amount =11輸出:3解釋:11 = 5 + 5 + 1
示例 2:

輸入:coins =[2], amount =3輸出:-1
說明:

你可以認為每種硬幣的數量是無限的。

思路如下:

**如下

class solution(object):

def coinchange(self, coins, amount):

""":type coins: list[int]

:type amount: int

:rtype: int

"""dp=[-1]*(amount+1)

dp[0]=0

for i in range(1,amount+1):

for j in range(0,len(coins)):

if i>=coins[j] and dp[i-coins[j]]!=-1:

if dp[i]==-1 or dp[i]>dp[i-coins[j]]+1:

dp[i]=dp[i-coins[j]]+1

return dp[amount]

leetcode322 零錢兌換

給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11輸出 3解釋 11 5 5 1 示例 2 輸入 coins 2 amount 3...

leetcode 322 零錢兌換

給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11 輸出 3 解釋 11 5 5 1示例 2 輸入 coins 2 amount ...

LeetCode 322 零錢兌換

322 零錢兌換 題目 給定不同面額的硬幣 coins 和乙個總金額 amount。編寫乙個函式來計算可以湊成總金額所需的最少的硬幣個數。如果沒有任何一種硬幣組合能組成總金額,返回 1。示例 1 輸入 coins 1,2,5 amount 11 輸出 3 解釋 11 5 5 1 示例 2 輸入 co...