leetcode-39-Combination Sum
2017-07-24 18:27
281 查看
问题
题目:[leetcode-39]思路
这个题目也是dfs,每一层扫描全部的数字。但是,这个题目有一个限制它是组合,所以每一个元素必须是升序。
需要判断下。
代码
class Solution { public: vector<vector<int>> combinationSum(vector<int>& candidates, int target) { vector<int> arr; vector< vector<int> > ret; dfs( candidates, target, 0, arr, ret ); return ret; } private: void dfs( vector<int>& nums, int target, int cur, vector<int>& arr, vector< vector<int> >& ret){ if( cur == target ){ ret.push_back( arr ); } if( cur > target ) return; int sz = nums.size(); for(int i = 0; i < sz; ++i){ if( arr.size() > 0 && arr.back() > nums[i] ) continue; arr.push_back( nums[i] ); dfs( nums, target, cur + nums[i], arr, ret ); arr.pop_back(); } } };
相关文章推荐
- LeetCode 39 - Combination Sum
- LeetCode(39) Combination Sum
- LeetCode 39 Combination Sum
- [Leetcode]_39 Combination Sum
- Leetcode 39 - Combination Sum
- <LeetCode OJ> 39 / 40 Combination Sum(I / II)
- [Leetcode 52] 39 Combination Sum
- LeetCode(39) Combination Sum
- LeetCode39 Combination Sum
- [LeetCode]39 Combination Sum
- LeetCode 39 Combination Sum(满足求和等于target的所有组合)
- leetcode39 Combination Sum
- Java [Leetcode 39]Combination Sum
- [Leetcode 39, Medium] Combination Sum
- LeetCode-39-Combination Sum, 回溯dfs,Python的list.append()覆盖前面,tuple,set
- LeetCode39 Combination Sum
- leetcode[39]Combination Sum
- LeetCode(39) Combination Sum
- 【LeetCode】C# 39、Combination Sum
- Leetcode 39 Combination Sum