LeetCode 322. Coin Change

题目

动态规划

class Solution {
public:
    int dp[10005];
    int coinChange(vector<int>& coins, int amount) {
    
        
        memset(dp,-1,sizeof(dp));
        dp[0] = 0;
        for(int i=1;i<=amount;i++)
        {
             for(int j=0;j<coins.size();j++)
             {
                 if(i-coins[j]>=0 && dp[i-coins[j]]!=-1)
                 {
                     if(dp[i]==-1)
                         dp[i] = dp[i-coins[j]]+1;
                     else
                         dp[i] = min(dp[i],dp[i-coins[j]]+1);
                 }
             }
        }
        
       return dp[amount];
        
    }
};
posted @ 2020-07-09 15:17  Shendu.CC  阅读(124)  评论(0编辑  收藏  举报