网站模板上传,一个工厂的网站建设,wordpress中文企业主题 下载地址,wordpress自带编辑器文章两端对齐跟着carl学算法#xff0c;本系列博客仅做个人记录#xff0c;建议大家都去看carl本人的博客#xff0c;写的真的很好的#xff01; 代码随想录 LeetCode#xff1a;78.子集 给你一个整数数组 nums #xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集#xf… 跟着carl学算法本系列博客仅做个人记录建议大家都去看carl本人的博客写的真的很好的 代码随想录 LeetCode78.子集 给你一个整数数组 nums 数组中的元素 互不相同 。返回该数组所有可能的子集幂集。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入nums [1,2,3] 输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2 输入nums [0] 输出[[],[0]] 这里面和前面几题收集结果的条件是不一样的画个树形图就能发现子集是树形图中的每个节点组合问题收集的是叶子节点而子集问题收集的是所有节点 public ListListInteger subsets(int[] nums) {ListListInteger res new ArrayList();backtracking(nums, 0, new ArrayList(), res);return res;}private void backtracking(int[] nums, int index, ListInteger path, ListListInteger res) {// 通过画树形图可以发现这里面每个节点的值都是需要收集的即没有手机结果的条件res.add(new ArrayList(path));for (int i index; i nums.length; i) {path.add(nums[i]);backtracking(nums, i 1, path, res);path.removeLast();}}