leetcode刷题,总结,记录,备忘78

来源:互联网 发布:微信支付 域名备案 编辑:程序博客网 时间:2024/06/05 15:30

leetcode78Subsets

Given a set of distinct integers, nums, return all possible subsets.

Note:

  • Elements in a subset must be in non-descending order.
  • The solution set must not contain duplicate subsets.

For example,
If nums = [1,2,3], a solution is:

[  [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]

Subscribe to see which companies asked this question

吸取上一篇博客中的题目的教训,这次灵活使用dfs,好吧,很轻松!还是比较简单的,,不多做解释了。

class Solution {public:    vector<int> temp;    vector<vector<int> > result;        void function(vector<int> & nums, int deep)    {        if (deep == nums.size())        {            return;        }                for (int i = deep; i < nums.size(); ++i)        {            temp.push_back(nums[i]);            result.push_back(temp);            function(nums, i + 1);            temp.pop_back();        }    }        vector<vector<int>> subsets(vector<int>& nums) {        if (nums.size() == 0)        {            return result;        }                sort(nums.begin(), nums.end());        function(nums, 0);                vector<int> t;        result.push_back(t);                return result;    }};


0 0
原创粉丝点击