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];
    }
};
相关推荐
SunnyKriSmile2 小时前
C语言译码操作
c语言·算法·if语句·译码操作·switch语句
小小小CTFER2 小时前
理论题] 2025 年 “技耀泉城” 海右技能人才大赛网络安全知识竞赛题目(二)
算法·安全·web安全
断剑zou天涯4 小时前
【算法笔记】暴力递归尝试
java·笔记·算法
油泼辣子多加4 小时前
【实战】自然语言处理--长文本分类(1)DPCNN算法
算法·自然语言处理·分类
I'm a winner5 小时前
基于YOLO算法的医疗应用专题:第一章 计算机视觉与深度学习概述
算法·yolo·计算机视觉
vir025 小时前
P1928 外星密码(dfs)
java·数据结构·算法·深度优先·1024程序员节
喜欢吃燃面5 小时前
数据结构算法题:list
开发语言·c++·学习·算法·1024程序员节
胡萝卜3.06 小时前
C++ list核心接口与实战技巧
数据结构·c++·list·list使用
寂静山林6 小时前
UVa 12991 Game Rooms
算法·1024程序员节