给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
链接地址:https://leetcode-cn.com/explore/interview/card/tencent/226/dynamic-programming/937/
class Solution {
public:
vector<vector<int>> r;
vector<vector<int>> subsets(vector<int>& nums) {
vector<int> init = {};
r.push_back(init);
subsets(nums,0);
return r;
}
void subsets(vector<int>& nums,int i) {
if(i>=nums.size()){
return;
}
int n = r.size();
for(int j=0;j<n;j++){
vector<int> ri = r[j];
ri.push_back(nums[i]);
r.push_back(ri);
}
subsets(nums,i+1);
}
};