leecode377.组合总和IV

本题其实是多重背包问题,对于价值和重量都是numsi的的物品,求装满这个容量为4的背包共有多少种排列方式

如果是组合问题,那么遍历顺序是先物品后背包,这样能保证物品按从小到大顺序依次放置,对于实例1求出来为4;但是本题其实是排列问题,那么遍历顺序就应该是先背包再物品,先固定背包的大小,再依次放置物品进行试探就能保证求出排列数

cpp 复制代码
class Solution {
public:
    int combinationSum4(vector<int>& nums, int target) {
        int n=nums.size(),bagWeight=target;
        vector<int> dp(bagWeight+1,0);
        dp[0]=1;
        for(int i=0;i<=bagWeight;i++)
            for(int j=0;j<n;j++)
                if(i>=nums[j])
                    if(dp[i]<INT_MAX-dp[i-nums[j]])
                        dp[i]+=dp[i-nums[j]];
        return dp[bagWeight];
    }
};
相关推荐
阿里技术7 分钟前
Agent 评测:方法论与体系设计
大数据·人工智能·算法
cxr82829 分钟前
大语言模型上下文缓存命中率测试全场景清单
人工智能·python·算法·缓存·语言模型·自然语言处理·llm
noipp40 分钟前
推荐题目:洛谷 P13554 【MX-X15-T1】奶龙龙
c语言·数据结构·c++·算法·编程·洛谷
念风1 小时前
一阶低通滤波器系数的两种计算方法
算法
geovindu1 小时前
go: Enumeration Algorithm
开发语言·后端·算法·golang·枚举算法
退休倒计时1 小时前
【每日一题】LeetCode 287. 寻找重复数 TypeScript
算法·leetcode·typescript
奋发向前wcx2 小时前
y1,y2总复习笔记2 2026.7.15
java·笔记·算法
AI科技星2 小时前
《全域数学·工程应用大典》113–200讲完整总目录
数据结构·人工智能·算法·机器学习·线性回归·乖乖数学·全域数学
ttod_qzstudio2 小时前
【软考算法】软件设计师下午第四题算法总纲:从“直接放弃“到“稳稳拿分“
算法·软考
G.O.G.O.G2 小时前
《LeetCode SQL 从入门到精通(MySQL)》09
sql·mysql·leetcode