首页 > 代码库 > 078. Subsets
078. Subsets
1 class Solution { 2 public: 3 vector<vector<int>> subsets(vector<int>& nums) { 4 sort(nums.begin(), nums.end()); 5 vector<vector<int>> result; 6 vector<bool> selected(nums.size(), false); 7 subsets(nums, selected, 0, result); 8 return result; 9 }10 private:11 void subsets(const vector<int>& s, vector<bool>& selected, int step, vector<vector<int>>& result)12 {13 if (step == s.size()) {14 vector<int> subset;15 for (int i = 0; i < step; ++ i) {16 if (selected[i]) subset.push_back(s[i]);17 }18 result.push_back(subset);19 return;20 }21 else {22 subsets(s, selected, step + 1, result);23 selected[step] = true;24 subsets(s, selected, step + 1, result);25 selected[step] = false;26 }27 }28 };
078. Subsets
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。