欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 78.子集

程序员文章站 2022-04-04 11:11:21
...

leetcode 78.子集

这道题可以DFS,代码如下,很好理解

class Solution {
public:
    void dfs(int index,int n,vector<int> tmp,vector<int>& nums,vector<vector<int>>& ans){
        if(index==n){
            ans.push_back(tmp);
            return;}
            tmp.push_back(nums[index]);//选当前索引的数字
            dfs(index+1,n,tmp,nums,ans);
            tmp.pop_back();//不选当前索引的数字
            dfs(index+1,n,tmp,nums,ans);
    }
    vector<vector<int>> subsets(vector<int>& nums) {
        vector<vector<int>> ans;
        vector<int> tmp;
        dfs(0,nums.size(),tmp,nums,ans);
        return ans;
    }
};

结果

leetcode 78.子集