牛客题霸 [ 集合的所有子集] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [ 集合的所有子集] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
牛客題霸 [ 集合的所有子集] C++題解/答案
題目描述
現在有一個沒有重復元素的整數集合S,求S的所有子集
注意:
你給出的子集中的元素必須按升序排列
給出的解集中不能出現重復的元素
題解:
先sort一下,然后通過回溯實現選與不選
代碼:
class Solution { public:vector<vector<int> > subsets(vector<int> &S) {vector<vector<int>> sum;vector<int> a;sort(S.begin(), S.end());helper(S, sum, a, 0);return sum;}void helper(vector<int>& nums, vector<vector<int>>& sum, vector<int> a, int pos){if(pos == nums.size()){sum.push_back(a);}else{helper(nums, sum, a, pos+1); a.push_back(nums[pos]);helper(nums, sum, a, pos+1);}} };總結
以上是生活随笔為你收集整理的牛客题霸 [ 集合的所有子集] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑灵宝玉钟表怎么获得
- 下一篇: 李学勤:功利化是现在教育的最大问题