零钱兑换

题源:LeetCode

链接:https://leetcode-cn.com/problems/coin-change/

代码:

 1 class Solution {
 2 public:
 3     int coinChange(vector<int>& coins, int amount) {
 4         vector<int> dp(amount+1,amount+1);
 5         dp[0] = 0;
 6 
 7         for (int i = 1; i <= amount; ++i) {
 8             for (int j = 0; j < (int)coins.size(); ++j) {
 9                 if (coins[j] <= i) {
10                     dp[i] = min(dp[i], dp[i - coins[j]] + 1);
11                 }
12             }
13         }
14        return dp[amount] > amount ? -1 : dp[amount];
15     }
16 };

这道题目思路不难,主要是要考虑循环内如何进行dp

原文地址:https://www.cnblogs.com/hosheazhang/p/15304696.html