欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > leetcode0078. 子集-medium

leetcode0078. 子集-medium

2025/12/6 7:39:45 来源:https://blog.csdn.net/weixin_37253733/article/details/147248509  浏览:    关键词:leetcode0078. 子集-medium

1 题目:子集

官方标定难度:中

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

示例 1:

输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

示例 2:

输入:nums = [0]
输出:[[],[0]]

提示:

1 <= nums.length <= 10
-10 <= nums[i] <= 10
nums 中的所有元素 互不相同

2 solution

对于任何一个自己,全集中每个元素都有两个状态,属于该子集与不属于该子集,所以对于每个元素都分两种情况递归即可。

代码

class Solution {
public:
void subsets(vector<int> &nums, int k,vector<int> &set, vector<vector<int>> &result){if(k == nums.size()){result.push_back(set);return;}subsets(nums, k + 1, set, result);set.push_back(nums[k]);subsets(nums, k + 1, set, result);set.pop_back();
}vector<vector<int>> subsets(vector<int> &nums) {vector<vector<int>> result;vector<int> set;subsets(nums, 0, set, result);return result;
}
};

结果

在这里插入图片描述

版权声明:

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

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

热搜词