Combination Sum
来源:互联网 发布:企业网络初步设计方案 编辑:程序博客网 时间:2024/06/07 12:29
问题:
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.
The same repeated number may be chosen from C unlimited number of times.
代码:void getCombineSum(
int &sum,
int level,
int target,
vector<int> &solution,
vector<int> &candidates,
vector<vector<int>> &result
){
if(sum > target) return;
if(sum == target){
result.push_back(solution);
return;
}
for(int i = level; i<candidates.size(); i++){
sum += candidates[i];
solution.push_back(candidates[i]);
getCombineSum(sum,<span style="color:#ff6666;">i</span>,target,solution,candidates,result);
solution.pop_back();
sum -= candidates[i];
}
}
vector<vector<int> > combinationSum(vector<int> &candidates, int target) {
vector<int> solution;
vector<vector<int>> result;
int sum = 0;
sort(candidates.begin(),candidates.end());
getCombineSum(sum,0,target,solution,candidates,result);
return result;
}
base case: solution中元素之和sum为target
if sum值大于target 直接返回,并弹出最后元素
else 从candidate numbers 中继续选出元素加到solution中,同时用sum记录当前和值
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- Combination Sum
- 厦门工程技术人员职称评审 总体梳理
- weakreference实现原理分析
- 观察者模式(Observer Pattern)——让你的对象知悉现状
- JSP EL表达式 学习 应用
- 思维导图---区块链技术和区块链应用
- Combination Sum
- 深入spring cloud(1)
- POJ1598-C语言
- CodeForces 566 A Matching Names(Trie 匹配LCP和最大)
- git学习笔记2——ProGit2
- 【Leetcode】【python】Factorial Trailing Zeroes
- springmvc文件上传
- C#简单工厂设计模式实现计算器
- Linux中的软连接与硬链接