LeetCode | 78. Subsets

mac2024-11-21  2

 

题目:

Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

Example:

Input: nums = [1,2,3] Output: [ [3],   [1],   [2],   [1,2,3],   [1,3],   [2,3],   [1,2],   [] ]

 

代码:

class Solution { public: void backSubsets(set<vector<int>>& res, vector<int> nums) { if(nums.size() < 1) return; if(res.count(nums)) return; res.insert(nums); for(int i = 0; i<nums.size(); i++) { vector<int> cur_nums = nums; cur_nums.erase(cur_nums.begin()+i); backSubsets(res, cur_nums); } return; } vector<vector<int>> subsets(vector<int>& nums) { set<vector<int>> res; vector<int> cur; res.insert(cur); backSubsets(res, nums); vector<vector<int>> results; for(set<vector<int>>::iterator iter = res.begin(); iter != res.end(); iter++) results.push_back(*iter); return results; } };

 

 

 

 

最新回复(0)