Leetcode 39 Combination Sum
来源:互联网 发布:mac网络修复 编辑:程序博客网 时间:2024/05/20 01:13
题意
在候选集合C中选择数字(0个或多个),使它们的和为T。
题解
使用深度优先搜索。
参考:http://www.oschina.net/code/snippet_2399500_48909
代码
class Solution {public: vector<vector<int> > result; vector<int> temp; vector<vector<int>> combinationSum(vector<int>& candidates, int target) { if(candidates.size() == 0) return result; sort(candidates.begin(), candidates.end()); dfs(candidates, 0, 0, target); return result; } void dfs(vector<int> &candidates, int pos, int sum, int target) { if(sum == target) { result.push_back(temp); return; } else if(sum > target) return; else { for(int i = pos; i < candidates.size(); i++) // 每个数字都可能有0~n个(n满足n * candidates[i] <= target) { temp.push_back(candidates[i]); //记录当前第i个数字(0~n个)的可行路径 dfs(candidates, i, sum + candidates[i], target);//先递归到n个candidates[i],然后n-1,n-2...1 temp.pop_back(); // 恢复到递归结束条件的路径中的上一个节点 } } }};
0 0
- LeetCode 39: Combination Sum
- LeetCode(39) Combination Sum
- [leetcode 39] Combination Sum
- leetcode 39: Combination Sum
- leetcode || 39、Combination Sum
- leetcode 39 : Combination Sum
- leetcode 39: Combination Sum
- Leetcode #39 Combination Sum
- LeetCode(39) Combination Sum
- LeetCode-39 Combination Sum
- leetcode 39:Combination Sum
- LeetCode 39: Combination Sum
- Leetcode 39 - Combination Sum
- 【leetcode】【39】Combination Sum
- LeetCode 39 - Combination Sum
- LeetCode(39)-Combination Sum
- Leetcode 39 Combination Sum
- leetcode 39 Combination Sum
- JNI问题
- 一、初学SpringMVC+Mybatis之Spring简介
- LaTeX数学公式
- listview的综合应用
- 三言两语说shader(二)黑屏效果
- Leetcode 39 Combination Sum
- C#程序层面的内存分页方法
- 获取iOS设备的信息
- ZOJ-3673-1729【数论】【分解质因数】【DFS】【好题】
- 51nod1413 权势二进制
- 我的前端资源收藏
- 利用社会安全号码对学生记录构成的数组排序。1000个桶的基数排序并分三趟进行
- 辗转相除法求公约数和公倍数
- Flash as3数据类型介绍