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];
    }
};
发布了49 篇原创文章 · 获赞 2 · 访问量 3517

猜你喜欢

转载自blog.csdn.net/qq_40623603/article/details/105701446
今日推荐