diff --git a/78. Subsets b/78. Subsets new file mode 100644 index 0000000..4cc0729 --- /dev/null +++ b/78. Subsets @@ -0,0 +1,25 @@ +class Solution { +public: + vector> subsets(vector& nums) { + vector> result; + vector curr; + + function explore = [&](int index) { + if (index == nums.size()) { + result.push_back(curr); + return; + } + + // Include the current element + curr.push_back(nums[index]); + explore(index + 1); + curr.pop_back(); // Backtrack + + // Exclude the current element + explore(index + 1); + }; + + explore(0); + return result; + } +};