[leetcode刷题系列]Subsets II
2013-08-12 22:18
381 查看
递归暴力枚举就好了- -
vector<pair<int, int> > data; class Solution { void dfs(int cur, vector<int> & stk, vector<vector<int> > &ret){ if(cur >= data.size()){ ret.push_back(stk); return ; } dfs(cur + 1, stk, ret); for(int i = 0; i < data[cur].second; ++ i){ stk.push_back(data[cur].first); dfs(cur + 1, stk, ret); } for(int i = 0; i < data[cur].second; ++ i) stk.pop_back(); } public: vector<vector<int> > subsetsWithDup(vector<int> &S) { // Start typing your C/C++ solution below // DO NOT write int main() function map<int, int> hash; for(int i = 0; i < S.size(); ++ i) hash[S[i]] ++ ; data.clear(); for(map<int, int> :: iterator it = hash.begin(); it != hash.end(); ++ it) data.push_back(make_pair(it->first, it->second)); vector<vector<int> > ret; vector<int> stk; dfs(0, stk, ret); return ret; } };
相关文章推荐
- Leetcode--easy系列5
- leetcode题目 寻找和为SUM的集合系列问题
- leetcode题目 跳跃游戏系列题目
- Best Time to Buy and Sell Stock 系列问题(leetcode)
- [LeetCode]90 Subsets II
- leetcode【1+167 Two Sum 系列】【python】
- 【Leetcode系列之二】Leetcode OJ 11-20
- LeetCode -- Subsets II
- LeetCode90:Subsets II
- leetcode -- Super Ugly Number -- 跟ugly number系列一起复习
- 【leetcode系列】Valid Parentheses
- LeetCode系列字符串操作(一)ZigZag输出,寻找最大不重复字串长度。
- LeetCode 笔记系列二 Container With Most Water
- leetcode刷题系列-389. Find the Difference
- LeetCode 笔记系列12 Trapping Rain Water [复杂的代码是错误的代码]
- LeetCode 笔记系列15 Set Matrix Zeroes [稍微有一点hack]
- Leetcode 题解系列(四)
- 【LeetCode】C# 90、Subsets II
- [LeetCode]Array主题系列{1,11,15,16,18,26,27,31,33,34题}
- leetcode 括号匹配系列