Leetcode-Combine Sum II
来源:互联网 发布:怎么上架淘宝宝贝 编辑:程序博客网 时间:2024/06/05 22:50
求一个数组中所有的和等于target的组合。要求:
1.每个数最多只能使用一次
2.没有重复的组合
3.一个组合中的所有的数是升序排列的
third time:
class Solution {public: vector<vector<int> > combinationSum2(vector<int> &num, int target) { int len = num.size(); vector< vector<int> > res; res.clear(); if(len == 0) { return res; } sort(num.begin(),num.end());// 脑残没有排序,题目要求是结果按照升序排列 vector<int> temp; temp.clear(); combineHelper(num, target, 0, res, temp); return res; } void combineHelper(vector<int> &num,int target,int index,vector< vector<int> > &res,vector<int> &temp) { if(target < 0) { return; }else if(target == 0) { res.push_back(temp); return; } int i,len; len = num.size(); for(i = index; i < len; i++) { if(i != index && num[i] == num[i-1]) continue;//这里的去重比较好,不需要用used数组记录前面是否被访问过。对于同一层内的相同的数,只取第一个 temp.push_back(num[i]); combineHelper(num, target - num[i], i+1, res, temp); temp.pop_back(); } }};
0 0
- Leetcode-Combine Sum II
- 9.8 甩硬币方式,leetcode combine sum I II
- Leetcode Combine Sum
- 【Leetcode】Path Sum II (Sum)
- LeetCode: Combination Sum II
- LeetCode: Combination Sum II
- LeetCode: Path Sum II
- [LeetCode]Combination Sum II
- LeetCode Combination Sum II
- LeetCode Path Sum II
- [Leetcode] Combination Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- [LeetCode] Path Sum II
- [LeetCode] Combination Sum II
- LeetCode Combination Sum II
- [Leetcode] Combination Sum II
- 【leetcode】Path Sum II
- Qt多线程编程总结(二)——QMutex .
- [ACM] hdu 4418 Time travel (高斯消元求期望)
- python解决中文乱码
- android:Android数据的四种存储方式
- Codeforces 462A Appleman and Easy Task(水题)
- Leetcode-Combine Sum II
- Zero+
- C/C++中的寄存器变量
- Android中RelativeLayout各个属性的含义
- 百度推送REST API 签名组织方法
- Algorithmic Thinking Week1
- Git分支管理策略
- hdu 3074 Multiply game(线段树)
- 2012 Asia JinHua Regional Contest