LeetCode 算法78 子集

LeetCode 算法78 子集

题目

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
LeetCode 算法78 子集

解法 回溯算法

LeetCode 算法78 子集

class Solution {
public:
    void backtrack(const vector<int>& nums, vector<vector<int>>& res,
                   vector<int>& subset, int index){

        res.push_back(subset);

        for(int i = index; i < nums.size(); i++){
            subset.push_back(nums[i]);
            backtrack(nums, res, subset, i + 1);
            subset.pop_back();
        }
        
    }
    vector<vector<int>> subsets(vector<int>& nums) {
        vector<vector<int>> res;
        vector<int> subset;
        backtrack(nums, res, subset, 0);
        return res;
    }
};
上一篇:Istio使用【Bookinfo示例之简单路由管理】


下一篇:Python读取PostgreSQL数据并使用基于物品的协同过滤算法计算推荐结果