[LeetCode] 39. Combination Sum
2016-07-20 19:39
519 查看
思路:
又是一道典型的DFS问题, 做了数独和生成括号的同学应该对这种问题不陌生了. 注意之前一定要排序! 因为这道题说明了元素可以出现, 所以for循环中的DFS要传i自己, 如果是combination sum 2的问题, 就要传i + 1.
又是一道典型的DFS问题, 做了数独和生成括号的同学应该对这种问题不陌生了. 注意之前一定要排序! 因为这道题说明了元素可以出现, 所以for循环中的DFS要传i自己, 如果是combination sum 2的问题, 就要传i + 1.
void dfs(vector<int>& candidates, vector<vector<int>>& res, vector<int>& comb, int begin, int target) { if (! target) return res.push_back(comb); for (int i = begin; i < candidates[size] && candidates[i] <= target; i++) { comb.push_back(candidates[i]); dfs(candidates, res, comb, i, target - candidates[i]); comb.pop_back(); } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { vector<vector<int>> res; if (candidates.empty()) return res; // 别忘了排序!!! sort(candidates.begin(), candidates.end()); vector<int> comb; dfs(candidates, res, comb, 0, target); return res; }
相关文章推荐
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- win2003分布式文件系统(dfs)配置方法[图文详解]
- win2003分布式文件系统及其部署 图文教程
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- Hadoop2.6+jdk8的安装部署(1)——使用jar包安装部署【详细】
- Hadoop FS Shell
- DFS使用方法总结
- leetcode----Longest Substring Without Repeating Characters
- FastDFS注意事项
- 无忧技术带您预览DFS(分布式文件系统)管理控制台
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap