Leetcode Subsets

来源:互联网 发布:java的编译器 编辑:程序博客网 时间:2024/05/09 13:37

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],  []]
public class Solution {    public List<List<Integer>> subsets(int[] nums) {        List<List<Integer>> list=new ArrayList<List<Integer>>();        List<Integer> sublist=new ArrayList<Integer>();        Arrays.sort(nums);        for(int i=0;i<=nums.length;i++){            getSubList(list,sublist,nums,i,0);        }        return list;    }    private void getSubList(List<List<Integer>> list, List<Integer> sublist,int[] nums,int len,int position){        if(sublist.size()==len){            list.add(new ArrayList<Integer>(sublist));            return;        }        for(int i=position;i<nums.length;i++){            sublist.add(nums[i]);            getSubList(list,sublist,nums,len,i+1);            sublist.remove(sublist.size()-1);        }        return;    }}





0 0
原创粉丝点击