LeetCode:78.子集
程序员文章站
2022-04-04 11:10:51
...
一个整数数组的子集,每个元素都有选中还是不选中两中可能,如果都不选中就是[]
所有可能画出来就是一颗树,每一层就是相应的那层元素选中还是不选中
可以使用递归:
public List<List<Integer>> subsets(int[] nums) {
recursion(nums, 0, new ArrayList<>());
return result;
}
List<List<Integer>> result = new ArrayList<>();
private void recursion(int[] nums, int level, List<Integer> list) {
if(level==nums.length) {
result.add(list);
return;
}
//没选择当前的元素
recursion(nums, level+1, list);
//选择了当前的元素
List<Integer> copyList = new ArrayList<>();
copyList.addAll(list);
copyList.add(nums[level]);
recursion(nums, level+1, copyList);
}
上一篇: 超详细的python爬虫破解反爬技术,手把手教你破解滑动验证码
下一篇: 第五节 练习3