leetcode 48: Subsets II
来源:互联网 发布:html5 css3游戏源码 编辑:程序博客网 时间:2024/04/30 04:55
Jun 25 '12
Given a collection of integers that might contain duplicates, S, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- The solution set must not contain duplicate subsets.
For example,
If S = [1,2,2]
, a solution is:
[ [2], [1], [1,2,2], [2,2], [1,2], []]
class Solution {public: vector<vector<int> > subsets(vector<int> &S) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<vector<int> > rel; if( S.size() < 1) return rel; vector<int> temp; rel.push_back(temp); sort( S.begin(), S.end() ); subsetsRec( rel, S, temp, 0); return rel; }private: void subsetsRec( vector<vector<int> > & rel, vector<int>& s, vector<int>& temp, int level) { for( int i=level; i<s.size(); i++) { temp.push_back( s[i] ); rel.push_back( temp); subsetsRec( rel, s, temp, i+1); temp.pop_back(); while( s[i] == s[i+1] ) i++; if( i==s.size()-1) return;}}};
public class Solution { public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] num) { // Start typing your Java solution below // DO NOT write main() function //Arrays.sort( num ); ArrayList<ArrayList<Integer>> rel = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> temp = new ArrayList<Integer>(); rel.add(temp); Arrays.sort( num ); subsetsRec(rel, temp, num, 0); return rel; } private void subsetsRec(ArrayList<ArrayList<Integer>> rel, ArrayList<Integer> temp, int[] num, int level){ for(int i=level; i<num.length; i++) { temp.add( num[i] ); rel.add( new ArrayList<Integer>(temp) ); subsetsRec(rel, temp, num, i+1); temp.remove(temp.size() -1); while(i<num.length-1 && num[i] == num[i+1] ) i++; } if(level == num.length - 1) return; }}
- leetcode 48: Subsets II
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- LeetCode Subsets && Subsets II
- LeetCode-Subsets & Subsets II
- [LeetCode] Combinations、Subsets、Subsets II
- 【Leetcode】【python】Subsets/Subsets II
- LeetCode: Subsets II
- LeetCode SubSets II
- LeetCode: Subsets II
- [LeetCode] Subsets II
- [Leetcode] Subsets II
- [leetcode] Subsets II
- leetcode Subsets II
- leetcode Subsets II problem
- [LeetCode]Subsets II
- [leetcode]Subsets II
- android环境搭建
- IOS 改变图形上下文中的形状:平移、缩放、旋转
- c++23种设计模式之原型模式
- 解密硬盘坏道的原因
- DNS污染【备忘】
- leetcode 48: Subsets II
- C# 结构Struct可以继承接口Interface
- c++23种设计模式之单例模式
- IOS中动画的实现:以及视图的移动、缩放和旋转
- 自制eclipse上的java编程助手软件
- ios学习的网址和视屏
- 怎样选择编程语言
- stm32篇--内置flash
- c++ 23种设计模式之组合模式