- 求组合数就是外层for循环遍历物品,内层for遍历背包。(零钱兑换 II)
- 求排列数就是外层for遍历背包,内层for循环遍历物品。 (组合总和 Ⅳ)
组合总和 Ⅳ虽然名字叫组合,但是顺序不同的序列被视作不同的组合,其实这求的是排列数。
因为,如果把遍历nums(物品)放在外循环,遍历target的作为内循环的话,因为nums遍历放在外层,3只能出现在1后面,则计算dp[4]的时候,结果集只有 {1,3} 这样的集合,不会有{3,1}这样的集合
在涉及物品排列的问题中,顺序不同会对结果造成影响时,则应该在外层遍历背包,内层遍历物品
这里再