题目描述
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
tips : 每增加一个元素,让之前幂集中的每个集合,追加这个元素,就是新增的子集。
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res;
vector<int> temp;
res.push_back(temp);
for (int i = 0; i < nums.size(); i++)
{
int len=res.size();
for (int j = 0; j < len; j++)
{
vector<int> next=res[j];
next.push_back(nums[i]);
res.push_back(next);
}
}
return res;
}
};
本文详细解析了如何生成一个整数数组的所有可能子集(幂集),并提供了一个高效的算法实现。通过递增方式,每次迭代都基于现有子集生成新的组合,确保了解集不包含重复子集。
772

被折叠的 条评论
为什么被折叠?



