ブラシ83コイン

122. コイン

タイトルリンク

ソース:
リンク(LeetCode):https: //leetcode-cn.com/problems/coin-lcci

タイトルの説明

コイン。コインの数に制限がない場合、通貨の値は25ポイント、10ポイント、5ポイント、1ポイントです。nポイントを計算するコードを記述する方法はいくつかあります。(結果は大きくなる可能性があります。結果を1000000007に成形する必要があります)

例1:

入力:n = 5
出力:2
説明:合計金額を構成するには2つの方法があります:
5 = 5
5 = 1 + 1 + 1 + 1 + 1
例2:

入力:n = 10
出力:4
説明:合計金額を構成する方法は4つあります:
10 = 10
10 = 5 + 5
10 = 5 + 1 + 1 + 1 + 1 + 1
10 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
説明:

注:

あなたは仮定することができます:

0 <= n(合計金額)<= 1000000

キーテクノロジー

動的プログラミング

トピック分析

  1. 新しい配列dpを作成します。dp[j]はj元を形成するのに必要なコインの最小数を表します。
  2. 状態遷移方程式:dp [j] = dp [j] + dp [j-coin [i]];
  3. 注:モジュロ1000000007。
/ **
 * @param {数値} n
 * @return {数値}
 * /
var wayToChange = function(n){
    コイン= [1、5、10、25];
    let dp = new Array(n + 1).fill(1);
    for(let i = 1; i <4; i ++){
        for(let j = 1; j <= n; j ++){
           if(j-coin [i]> = 0){
                dp [j] =(dp [j] + dp [j-coin [i]])%1000000007;
           }
        }
    }
    dp [n]を返します。
};

  

おすすめ

転載: www.cnblogs.com/liu-xin1995/p/12758083.html