Mid Coding

Find All Subsets (Power Set)?

List<List<int>> Subsets(int[] nums)

List<List<int>> result = new List<List<int>>();

GenerateSubsets(nums, 0, new List<int>(), result);

return result;

void GenerateSubsets(int[] nums, int index, List<int> current,

List<List<int>> result)

if (index == nums.Length)

result.Add(new List<int>(current));

return;

// Exclude nums[index]

GenerateSubsets(nums, index + 1, current, result);

// Include nums[index]

current.Add(nums[index]);

GenerateSubsets(nums, index + 1, current, result);

current.RemoveAt(current.Count - 1);

Follow on:

Explanation:

Backtracking approach includes/excludes each element.

More from C# Programming Tutorial

All questions for this course