您的位置:首页 > 新闻 > 热点要闻 > 开发工具eclipse_云小店自助下单_合肥做网站的公司有哪些_竞价托管外包哪家好

开发工具eclipse_云小店自助下单_合肥做网站的公司有哪些_竞价托管外包哪家好

2024/12/22 9:20:15 来源:https://blog.csdn.net/qq_51352130/article/details/142723210  浏览:    关键词:开发工具eclipse_云小店自助下单_合肥做网站的公司有哪些_竞价托管外包哪家好
开发工具eclipse_云小店自助下单_合肥做网站的公司有哪些_竞价托管外包哪家好

文章目录

  • 题目介绍
  • 解法
    • 解法一:
    • 解法二:

题目介绍

在这里插入图片描述

解法

有两种解法,对于计算[1,2]的子集问题:

解法一:

站在输入的角度思考:每个元素都可以选/不选
在这里插入图片描述
代码如下:

class Solution {List<List<Integer>> ans = new ArrayList<>();List<Integer> path = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {dfs(nums, 0);return ans;}private void dfs(int[] nums, int i) {if (i == nums.length) { // 子集构造完毕ans.add(new ArrayList<>(path)); // 复制 pathreturn;}// 不选 nums[i]dfs(nums, i + 1);// 选 nums[i]path.add(nums[i]);dfs(nums, i + 1);path.remove(path.size() - 1); // 恢复现场}
}

解法二:

站在答案的角度思考在这里插入图片描述
代码如下:

class Solution {List<List<Integer>> ans = new ArrayList<>();List<Integer> path = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {dfs(nums, 0);return ans;}private void dfs(int[] nums, int i) {ans.add(new ArrayList<>(path)); // 复制 pathfor (int j = i; j < nums.length; j++) { // 枚举选择的数字path.add(nums[j]);dfs(nums, j + 1);path.remove(path.size() - 1); // 恢复现场}}
}

参考b站灵茶山艾府

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com