leecode322.零钱兑换

多重背包问题,物品价值和INT_MAX重量都是coins[i],amount是背包容量,求装满这个背包所需要的物品个数最少是多少

dp初始化:背包容量为0时,组合数为0,dp[0]=0;由于每次都取最小,那么其余值初始化为INT_MAX

cpp 复制代码
class Solution {
public:
    int coinChange(vector<int>& coins, int amount) {
        int n=coins.size(),bagWeight=amount;
        vector<int> dp(bagWeight+1,INT_MAX);
        dp[0]=0;
        for(int i=0;i<n;i++)
            for(int j=coins[i];j<=bagWeight;j++)
                if(dp[j-coins[i]]!=INT_MAX)
                    dp[j]=min(dp[j],dp[j-coins[i]]+1);
        if(dp[bagWeight]==INT_MAX)
            return -1;
        else
            return dp[bagWeight];
    }
};
相关推荐
草履虫建模1 天前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq1 天前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq1 天前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
爱吃rabbit的mq1 天前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习
(❁´◡`❁)Jimmy(❁´◡`❁)1 天前
Exgcd 学习笔记
笔记·学习·算法
YYuCChi1 天前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
不能隔夜的咖喱1 天前
牛客网刷题(2)
java·开发语言·算法
VT.馒头1 天前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
进击的小头1 天前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机
咖丨喱1 天前
IP校验和算法解析与实现
网络·tcp/ip·算法