首页 > 学院 > 开发设计 > 正文

LeetCode 78. Subsets

2019-11-08 01:17:34
字体:
来源:转载
供稿:网友

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

Note: 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],  []]answer:

class Solution {public:    vector<vector<int>> subsets(vector<int>& nums) {        int length = nums.size();        vector<vector<int>> result;        vector<int> temp;        result.push_back(temp);        if(length == 0) return result;        for(int k = 1; k <= length; k ++){            mySub(-1,length - 1,k,nums,temp,result);        }        return result;    }        void mySub(int index, int length, int k, vector<int>& nums, vector<int> & temp, vector<vector<int>> & result){        if(index > length || k < 0) return;        if(k == 0){            result.push_back(temp);            return;        }        for(int i = index + 1; i <= length; i ++){            temp.push_back(nums[i]);            mySub(i,length,k - 1,nums,temp,result);            temp.pop_back();        }    }};


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表