题目描述
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出
[
[1,2,3]
[1,2]
[2,3]
[1,3]
[1]
[2]
[3]
[]
]
代码
public class Solution {
public IList<IList<int>> Subsets(int[] nums){
List<IList<int>> result = new List<IList<int>>(); ;
List<int> subject = new List<int>();
find_sub(result, subject, nums, 0);
return result;
}
public void find_sub(List<IList<int>> result, List<int> subject, int[] nums, int j){
result.Add(new List<int>(subject));
for (int i = j; i < nums.Length; i++)
{
subject.Add(nums[i]);
find_sub(result, subject, nums, i + 1);
subject.RemoveAt(subject.Count - 1);
}
}
}