【LeetCode】322。コインの変更

322コインの変更

説明:

あなたは、異なる宗派やお金の総量のコイン与えられている  量をあなたはその金額を補うために必要があるとコインの最小数を計算する関数を書きます。お金の量は、コインの任意の組み合わせによって構成されたことができない場合は、返します  -1

例1:

入力:コイン= [1、2、5]、量= 11
出力: 3
解説: 11 = 5 + 5 + 1

例2:

入力:コイン= [2]、量= 3
出力: -1


あなたは、コインの種類ごとの無限の数を持っていることを仮定してもよいです。

問題解決のアイデア:

PythonはACコードがあります。

class Solution:
    def coinChange(self, coins: List[int], amount: int) -> int:
        dp = [amount + 1 for _ in range(amount + 1)]
        dp[0] = 0
        for coin in coins:
            for i in range(coin, amount + 1):
                dp[i] = min(dp[i], dp[i - coin] + 1)
                
        return -1 if dp[amount] >= amount + 1 else dp[amount]

参照:

[1]フラワー醤油LeetCode 322コインの変更-ジョブEP148を見つけるブラシの問題、住所:https://www.bilibili.com/video/av31621107?from=search&seid=12222304351393275021  

公開された285元の記事 ウォンの賞賛892 ビュー111万+

おすすめ

転載: blog.csdn.net/program_developer/article/details/104090349