public class Solution {
public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] num) {
HashSet<ArrayList<Integer>> set = new HashSet<ArrayList<Integer>> ();
Arrays.sort(num);
int length = num.length;
for (int i=0; i<Math.pow(2, length); i++) {
ArrayList<Integer> temp = new ArrayList<Integer> ();
int t = i;
for (int j=0; j<length; j++) {
int bit = t&1;
if (bit==1) temp.add(num[j]);
t = t>>1;
}
set.add(temp);
}
return new ArrayList<ArrayList<Integer>> (set);
}
}
没有评论:
发表评论