代码随想录打卡第45天

322. 零钱兑换

class Solution {
public:
    int coinChange(vector& coins, int amount) {
        if(amount==0) return 0;
        vector dp(amount+1,INT_MAX);
        dp[0]=0;
        for(int i=1;i<=amount;i++)
        {
            for(int j=0;j=coins[j]&&dp[i-coins[j]]!=INT_MAX)
                {
                    
                    dp[i]=min(dp[i],dp[i-coins[j]]+1);
                }
            }
        }
        if(dp[amount]==INT_MAX) return -1;
        return dp[amount];

    }
};

279. 完全平方数

class Solution {
public:
    int numSquares(int n) {
        vector dp(n+1,INT_MAX);
        dp[0]=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j*j<=i;j++)
            {
                dp[i]=min(dp[i],dp[i-j*j]+1);
            }
        }
        return dp[n];

    }
};

你可能感兴趣的:(leetcode,算法,动态规划)