南昌网站建设过程,腾讯云域名申请,国际贸易网登录,网站后期维护怎么做原题出于leetcode第39题https://leetcode.cn/problems/combination-sum/description/题目如下#xff1a;
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target #xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 #xff0c;并以…原题出于leetcode第39题https://leetcode.cn/problems/combination-sum/description/题目如下
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target 找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 并以列表形式返回。你可以按 任意顺序 返回这些组合。
candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同则两种组合是不同的。
对于给定的输入保证和为 target 的不同组合数少于 150 个。 1.树型结构 2.代码
这里用到的剪枝与组合总和Ⅲ中sum类似不再赘述
class Solution {
public:vectorintpath;vectorvectorintresult;void backtracking(vectorint candidates,int target,int sum,int startindex){if(sumtarget)return ;if(sumtarget){result.push_back(path);return;}for(int istartindex;icandidates.size();i){sumcandidates[i];path.push_back(candidates[i]);backtracking(candidates,target,sum,i);sum-candidates[i];path.pop_back();}return ;}vectorvectorint combinationSum(vectorint candidates, int target) {path.clear();result.clear();backtracking(candidates,target,0,0);return result;}
};