您的位置:首页 > 其它

Subsets

2015-07-12 04:19 183 查看
Given a set of distinct integers, nums, 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 nums =
[1,2,3]
,
a solution is:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]


Java:

public class Solution {

public ArrayList<ArrayList<Integer>> subsets(int[] S) {

ArrayList<ArrayList<Integer>> listinlist = new ArrayList<ArrayList<Integer>>();

for(int k=0; k<S.length; k++)

{

int m = listinlist.size();

for(int i = 0; i< m; i++)

{

ArrayList<Integer> ltemp = listinlist.get(i);

ArrayList<Integer> ladd = new ArrayList<Integer>();

Boolean added = false;

for(int j = 0; j < ltemp.size(); j++)

{

if(ltemp.get(j) > S[k] && !added)

{

ladd.add(S[k]);

added = true;

}

ladd.add(ltemp.get(j));

}

if(!added)

ladd.add(S[k]);

listinlist.add(ladd);

}

ArrayList l1 = new ArrayList();

l1.add(S[k]);

listinlist.add(l1);

}

ArrayList<Integer> l2 = new ArrayList<Integer>();

listinlist.add(l2);

return listinlist;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: