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];
    }
};
相关推荐
小程故事多_801 天前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法
2601_956121971 天前
二分算法(知识点+题目)
c++·算法
AndrewHZ1 天前
【LLM技术全景】阶段总结:技术原理篇核心知识回顾
人工智能·深度学习·算法·语言模型·大模型·llm·芯片开发
小星星闪亮登场1 天前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先
冻柠檬飞冰走茶1 天前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
玖玥拾1 天前
LeetCode 88 合并两个有序数组
算法·leetcode
数据皮皮侠AI1 天前
上市公司数字供应链金融指数(2010-2024)
大数据·人工智能·算法
2501_942389551 天前
Epoch AI旗下FrontierMath的负责人Elliot Glazer
数据结构·决策树·动态规划·散列表
小程故事多_801 天前
用GRPO算法重塑多智能体系统,从原理落地到复杂任务规划实战
人工智能·算法
Hi李耶1 天前
【LeetCode】541.反转字符串 II
算法·leetcode·职场和发展