39. Combination Sum
来源:互联网 发布:恋爱的双马尾 知乎 编辑:程序博客网 时间:2024/06/07 19:07
Related Topics:Backtracking
回溯法,或称DFS,肯定是要用函数的递归。
每次将元素加进队列里,如果结果大于target就pop,等于target就将队列加进新的队列里,小于target就继续嵌套。
class Solution {
public:void swap(int& e1, int& e2){
int tmp = e1;
e1 = e2;
e2 = tmp;
}
void quickSort(vector<int>& a, int l, int r){ //c语言改成int*
if(l >= r) return;
int ref = a[l];
int lt = l;
int gt = r;
int i = l + 1;
while(i<=gt){
if(a[i] < ref) swap(a[i++], a[lt++]);
else if(a[i] > ref) swap(a[i], a[gt--]);
else ++i;
}
quickSort(a, l, lt - 1);
quickSort(a, gt + 1, r);
}
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
vector<vector<int>> result;
vector<int> temp;
int count=0;
quickSort(candidates, 0, candidates.size()-1);
combination(candidates,count,target,temp,result);
return result;
}
void combination(vector<int>& candidates,int count, int target,vector<int> &temp,vector<vector<int>> &result){
if(target==0){
result.push_back(temp);
return;
}
for(int i=count;i<candidates.size();i++){
if(target<0){
return;
}
temp.push_back(candidates[i]);
combination(candidates,i,target-candidates[i],temp,result);
temp.pop_back();
}
}
};
阅读全文
0 0
- 39. Combination Sum && 40. Combination Sum II
- 39. Combination Sum &&40. Combination Sum II
- [LeetCode]39.Combination Sum
- LeetCode --- 39. Combination Sum
- LeetCode 39.Combination Sum
- [Leetcode] 39. Combination Sum
- 39. Combination Sum
- 39. Combination Sum
- Leetcode-39.Combination Sum
- LeetCode 39. Combination Sum
- [LeetCode]39. Combination Sum
- 39. Combination Sum LeetCode
- [leetcode] 39. Combination Sum
- 39. Combination Sum
- 39. Combination Sum
- leetcode 39. Combination Sum
- 【leetcode】 39. Combination Sum
- 39. Combination Sum(backtracking)
- jenkins+selenium+eclipse+ant+testng整合心得
- 判断两链表是否相交,若相交求交点(链表可能带环)
- live555转发多路视频ffmpeg接收解码显示画面出现花屏现象
- 数据可视化之echarts
- Android常用辅助类之单位转换的辅助类
- 39. Combination Sum
- 移动端宽高自适应布局解决办法
- nginx安装服务
- Code Complete部分笔记
- dubbox配置
- Codeforces Round #424 (Div. 2) D. Office Keys(dp)
- 使用Logstash multiline 收集PHP、tomcat等应用服务多行堆栈日志
- svn的使用注意事项
- 在Windows Azure/IIS7环境下部署svg/woff/woff2字体,添加MIME类型