LeetCode: Combination Sum
2014-10-26 19:24
246 查看
题目
https://oj.leetcode.com/problems/combination-sum/分析
DFS,之前总结过很多道同类型的题。代码
class Solution{
public:
vector<vector<int>> combinationSum(vector<int> &candidates, int target)
{
if (candidates.size() == 0)
return res;
this->candidates = candidates;
sort(this->candidates.begin(), this->candidates.end());
vector<int> solution;
DFS(solution, 0, target);
return res;
}
void DFS(vector<int> &solution, int start, int target)
{
if (target == 0)
res.push_back(solution);
else
{
for (int i = start; i < candidates.size() && candidates[i] <= target; i++)
{
solution.push_back(candidates[i]);
DFS(solution, i, target-candidates[i]);
solution.pop_back();
}
}
}
private:
vector<int> candidates;
vector<vector<int>> res;
};
相关文章推荐
- 【leetcode】Combination Sum
- LeetCode Online Judge 题目C# 练习 - Combination Sum
- 算法。递归。之一: combination sum, leetcode
- leetcode笔记:Combination Sum
- LeetCode_39 Combination Sum
- LeetCode:Combination Sum
- LeetCode--Combination Sum
- LeetCode-Combination Sum
- leetcode 39: Combination Sum
- 【数据结构与算法】【leetcode】sum2 sum3 sum4 Combination Sum
- [leetcode]Combination Sum
- LeetCode_Combination Sum
- LEETCODE: Combination Sum
- leetcode 39 Combination Sum (回溯法)
- [leetcode] Combination Sum
- 《leetCode》:Combination Sum
- leetcode -- Combination Sum
- Combination Sum - LeetCode
- [LeetCode]Combination Sum
- Combination Sum 系列问题(leetcode dfs回溯,动归)由浅入深DFS