leetcode之硬幣

硬幣。給定數量不限的硬幣,幣值爲25分、10分、5分和1分,編寫代碼計算n分有幾種表示法。(結果可能會很大,你需要將結果模上1000000007

簡要題解:

完全揹包簡單題,枚舉幣值,統計次數即可。主要代碼如下

class Solution {
public:
  int mod=1000000007;
    int waysToChange(int n) {
      int a[]={1,5,10,25};
      vector<int>dp(n+1,0);
      dp[0]=1;
      for(int i=0;i<4;i++)
        for(int j=a[i];j<=n;j++)
            {
             dp[j]=(dp[j]+dp[j-a[i]])%mod;
            }
      return dp[n];
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章