国外好的设计网站有哪些,如何搜名字搜到自己做的网站,wordpress 会员名字,网络平台推广案例2023.8.17 本题属于完全背包问题#xff0c;乍一看和昨天那题 零钱兑换II 类似#xff0c;但细看题目发现#xff1a;今天这题是排列问题#xff0c;而“零钱兑换II”是组合问题。排列问题强调顺序#xff0c;而组合顺序不强调顺序。 这里先说个结论#xff1a;先遍历物品…2023.8.17 本题属于完全背包问题乍一看和昨天那题 零钱兑换II 类似但细看题目发现今天这题是排列问题而“零钱兑换II”是组合问题。排列问题强调顺序而组合顺序不强调顺序。 这里先说个结论先遍历物品再遍历背包求出来的是组合数。(即{12}和{21}是等价的) 而先遍历背包再遍历物品求出来的是排列数。(即{12}和{21}是不等价的。) 本题思路还是和昨天那题类似但是物品和背包的遍历顺序需要调换一下因为本题需要求的是排列数。 代码如下
class Solution {
public:int combinationSum4(vectorint nums, int target) {vectorunsigned int dp(target1);dp[0] 1;for(int j0; jtarget; j){for(int i0; inums.size(); i){if(j nums[i]){dp[j] dp[j-nums[i]];}}}return dp[target];}
}; pscpp代码的dp数组需要声明为unsigned int不然如下示例通过不了。