算法和我的上一篇博客
LintCode 17 子集 非递归解法(C++ 递推)相同
LintCode 17 子集 非递归解法(C++ 递推)
这里采用递归方法求解
描述
给定一个可能具有重复数字的列表,返回其所有可能的子集。
子集中的每个元素都是非降序的
两个子集间的顺序是无关紧要的
解集中不能包含重复子集
样例
样例 1:
输入:[0]
输出:
[
[],
[0]
]
样例 2:
输入:[1,2,2]
输出:
[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]
class Solution {
public:
/**
* @param nums: A set of numbers.
* @return: A list of lists. All valid subsets.
*/
void findSubStr(vector<int>nums,vector<vector<int>>&res)
{
if(nums.empty())
return;
vector<vector<int>> tmp(res