leetcode 78 子集

简介: leetcode 78 子集

子集

c99e329187e2465ea6d508334762d4dd.png2056e8af2ca8407887ec491d2fb7f922.png


与中序遍历N叉树非常的类似

每一个子集就是一个节点,遍历所有的节点

回溯遍历法(不要简单问题复杂化)

class Solution {
public:
    vector<vector<int>> result;
    vector<int> path;
    void backtracking(vector<int>& nums , int indnx  )
    {
      //每一个节点都加入,无须判断节点
        result.push_back(path);
        //如果遍历指针大于等于最深处,就返回
        if(indnx >= nums.size()) return;
        //横向循环
        for(int i=indnx ; i < nums.size() ; i++ )
        {
          //新值压入
            path.push_back(nums[i]);
            backtracking(nums,i+1);//递归
            path.pop_back();//回溯
        }
        return;
    }
    vector<vector<int>> subsets(vector<int>& nums) {
        backtracking(nums,0);
        return result;
    }
};


二刷

class Solution {
public:
    vector<vector<int>> result;
    vector<int> path;
    void track_back(vector<int>& nums , int indnx)
    {
        if(indnx > nums.size() ) return;
        result.push_back(path);
        for(int i=indnx ; i<nums.size() ;i++)
        {
            path.push_back(nums[i]);
            track_back(nums,i+1);
            path.pop_back();
        }
        return;
    }
    vector<vector<int>> subsets(vector<int>& nums) {
        if(nums.size() == 0) return result;
        track_back(nums,0);
        return result;
    }
};
相关文章
|
7月前
|
Go
golang力扣leetcode 416.分割等和子集
golang力扣leetcode 416.分割等和子集
44 0
|
7月前
leetcode-1994:好子集的数目
leetcode-1994:好子集的数目
67 0
|
4月前
|
算法
LeetCode第90题子集II
LeetCode第90题"子集II"的解题方法,通过排序和回溯算法生成所有不重复的子集,并使用一个boolean数组来避免同一层中的重复元素,展示了解决这类问题的编码技巧。
LeetCode第90题子集II
|
4月前
|
Python
【Leetcode刷题Python】416. 分割等和子集
LeetCode 416题 "分割等和子集" 的Python解决方案,使用动态规划算法判断是否可以将数组分割成两个元素和相等的子集。
40 1
|
4月前
|
索引 Python
【Leetcode刷题Python】78. 子集
LeetCode题目78的Python编程解决方案,题目要求给定一个互不相同的整数数组,返回该数组所有可能的子集(幂集),且解集中不能包含重复的子集。
25 1
|
4月前
|
算法
LeetCode第78题子集
文章分享了LeetCode第78题"子集"的解法,使用递归和回溯算法遍历所有可能的子集,展示了将子集问题视为树形结构进行遍历的解题技巧。
|
6月前
|
机器学习/深度学习 存储 算法
LeetCode题目 90:五种算法 回溯\迭代\位掩码\字典树\动态规划实现 子集ll
LeetCode题目 90:五种算法 回溯\迭代\位掩码\字典树\动态规划实现 子集ll
|
6月前
|
存储 机器学习/深度学习 算法
力扣78题:生成子集
力扣78题:生成子集
|
7月前
|
算法
leetcode代码记录(子集
leetcode代码记录(子集
31 0
|
7月前
|
Go
golang力扣leetcode 90.子集II
golang力扣leetcode 90.子集II
34 1