* 方法一:动态规划-带备忘机制的洎顶向下法(较慢)
* 方法二:动态规划-自底向上法
dp[i]表示钱数为i时的最小硬币数
遍历所有硬币,选择一个硬币使dp[i]最小
其中coins[j]为第j个硬币而i - coins[j]为钱數i减去其中一个硬币的值,剩余的钱数在dp数组中找到值然后加1和当前dp数组中的值做比较,取较小的那个更新dp数组
//初始化为一较大数amount+1(对於整数硬币,amount的面值最多硬币数为amount后面return语句会用到,判断是否能找零)
//先遍历硬币(此题也可以先遍历钱数)
问题:硬币找零2(求找零方案数)
方法:动态规划(看的不是太懂)
dp[i][j]表示用前i个硬币组成钱数为j的不同组合方法
dp[i]表示组成钱数i的不同方法数
分别为选择coin或者不选择coin
1, 0); //多分配空间方便索引
//初始化为1,当式子中i=coin时可以将dp[i]赋值为1表示使用此coin,方案数为1
coin]; //前者对应不选择coin,使用之前的coin得到的方案数,后者对应选择当湔coin的方案数