LeetCode 40 Combination Sum II
来源:互联网 发布:淘宝客户数据分析 编辑:程序博客网 时间:2024/06/13 04:06
题意:
集合中的每个数字只能使用一次,求出所有数字和为target的方案。
思路:
如果把集合中的数字计数,问题会变得和 http://blog.csdn.net/houserabbit/article/details/72677176 几乎一致。
我的方法思路与计数思路几乎一致,只不过我没有合并数字,而是枚举每种数字个数的时候只取排在后面的数字,这样就保证了方案不重复。
代码:
class Solution {public: vector<vector<int>> combinationSum2(vector<int> &candidates, int target) { n = candidates.size(); count = new int[n]; vector<vector<int>> ans; sort(candidates.begin(), candidates.end()); dfs(n - 1, target, ans, candidates); return ans; }private: int n; int *count; void dfs(int idx, int target, vector<vector<int>> &ans, vector<int> &candidates) { if (candidates[idx] <= target && (idx == n - 1 || candidates[idx] != candidates[idx + 1] || count[idx + 1] == 1)) { count[idx] = 1; int newtar = target - candidates[idx]; if (newtar == 0) { vector<int> res; for (int i = idx; i < n; ++i) { if (count[i] == 1) { res.push_back(candidates[i]); } } ans.push_back(res); } else if (idx > 0) { dfs(idx - 1, newtar, ans, candidates); } } count[idx] = 0; if (idx > 0) { dfs(idx - 1, target, ans, candidates); } }};
阅读全文
0 0
- LeetCode(40) Combination Sum II
- [leetcode 40] Combination Sum II
- leetcode || 40、Combination Sum II
- leetcode 40: Combination Sum II
- Leetcode #40 Combination Sum II
- LeetCode(40) Combination Sum II
- LeetCode-40 Combination Sum II
- LeetCode 40: Combination Sum II
- leetcode 40:Combination Sum II
- Leetcode 40 - Combination Sum II
- 【leetcode】【40】Combination Sum II
- LeetCode 40 - Combination Sum II
- LeetCode(40)-Combination Sum II
- 【LeetCode-40】Combination Sum II
- LeetCode 40 Combination Sum II
- LeetCode-40:Combination Sum II
- Leetcode 40 Combination Sum II
- LeetCode #40: Combination Sum II
- Oracle中char数据类型,length长度不足时,会自动用空格补上
- Easyui 分页 官方文档修改后很容易懂
- vue调用百度地图api时Bmap没有定义的解决办法
- centOS重装mariadb
- hue 设置中文
- LeetCode 40 Combination Sum II
- 离散题目18 求传递闭包 warshell算法
- 01--------php安装
- 这么多连麦方案,到底哪种适合你?
- vm(virtual option)选项
- shell中$(( )) 与 $( ) 还有${ }的区别
- cron: can’t lock /var/run/crond.pid, otherpid may be 2699: Resource temporarily unavailable
- poj 3292 Semi-prime H-numbers
- Microsoft SQL Server 遇到的奇怪的问题