[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/mJackie/leetcode/master/code/lc78.java [Back]  [Original]

package code;
/*
 * 78. Subsets
 * 
 * Medium
 * Array, Backtracking, Bit Manipulation
 * 
 * Tipslc46,39.backtrackingres
 */
import java.util.ArrayList;
import java.util.List;

public class lc78 {
    public static void main(String[] args) {
        int[] nums= {1,2,3};
        System.out.println(subsets(nums).toString());
    }
    public static List subsets(int[] nums) {
        List res = new ArrayList();
        res.add(new ArrayList());
        if(nums.length==0)
            return res;
        backtracking(res,nums,new ArrayList(),-1);
        return res;
    }
    public static void backtracking(List res, int[] nums, List l, int start){
        if(start>=nums.length)
            return;
        for (int i = start+1; i < nums.length ; i++) {
            l.add(nums[i]);
            res.add(new ArrayList(l));
            backtracking(res,nums,l,i);
            l.remove((Integer)nums[i]);
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page