See More

package LeetCode; import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Subsets { private List> res=new ArrayList<>(); public List> subsets(int[] nums) { helper(nums,new ArrayList<>(),0); HashSet h=new HashSet(res); res.clear(); res.addAll(h); return res; } public void helper(int[]nums,Listlist,int start){ res.add(new ArrayList(list)); for (int i = start; i < nums.length; i++) { // if (list.contains(nums[i])) { // continue; // } list.add(nums[i]); helper(nums, list,i+1); list.remove(list.size() - 1); } } public static void main(String[]args){ int nums[]={1,2,2}; Subsets s=new Subsets(); List> result=new ArrayList<>(); result=s.subsets(nums); System.out.println(result); } }