递归法
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
n = len(nums)
output = [[]]
for num in nums:
output += [curr + [num] for curr in output]
return output
public class Solution {
public IList<IList<int>> Subsets(int[] nums)
{
IList<IList<int>> list = new List<IList<int>>();
list.Add(new List<int>());
int len;
for(int i = 0; i < nums.Length; i++)
{
len = list.Count;
for(int j = 0; j < len; j++)
{
list.Add(new List<int>(list[j]));
}
for(int k = len; k < list.Count; k++)
{
list[k].Add(nums[i]);
}
}
return list;
}
}