咸阳市网站建设_网站建设公司_RESTful_seo优化
2025/12/29 16:10:31 网站建设 项目流程

排列问题:
https://leetcode.cn/problems/combination-sum-iv/submissions/687879495/
组合问题
https://leetcode.cn/problems/target-sum/
https://programmercarl.com/0518.零钱兑换II.html

for循环嵌套顺序:

如果求组合数(组合问题)就是外层for是物品n,内层for是空间c

如果求排列(排列问题)就是外层是空间c,内层是物品n

原因:

对于排列问题,如果我们还是按照组合问题,外层for是物品,内层for是空间的话。

对于nums = {1, 3}, target = 4

等外层循环是for num in nums 的时候,程序的逻辑是先把数字1彻底用完,再开始考虑数字3:

第一层外循环:num = 1会更新所有能由1组成的dp值

dp[1] 得到 {1}

dp[2] 得到 {1, 1}

dp[3] 得到 {1, 1, 1}

dp[4] 得到 {1, 1, 1, 1}

第二层外循环num = 3

此时才考虑把3装进背包

我们计算f[4] 的话,结果只有{1, 3}的集合,不会有{3, 1}这样的组合,结果就不对

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询