求所有arr数组的子集

public static List<List> subsets(int[] nums) {
List<List> resList = new ArrayList<List>();
for(int i=0;i<=Math.pow(2, nums.length)-1;i++) {
List list = new ArrayList();
String a = Integer.toBinaryString(i); //转化为二进制
System.out.println(a.length());
for(int j=0;j<a.length();j++) {
char c = a.charAt(j); //取到String中的每个字符
if(c == ‘1’) list.add(nums[nums.length-a.length()+j]); //把对应位置为1的数字放入集合
}
resList.add(list);
}
return resList;
}

猜你喜欢

转载自blog.csdn.net/yituo7475/article/details/82973737