采用回溯法:对于例子图解执行过程如下,其中向上的分支为向下递归,向下的分支为第二次递归,因此已经push了对应的下标的值,则从根到右边连起来的路径即为组合

由于整个过程类似于二叉树的中序遍历,因此代码形式也类似于中序遍历的递归代码,i也可以代表当前所在的层数,当到达第3层时输出结果;

/**
记录数组下标i,储存结果e,最终结果res
递归边界,数组下标到达终点len(即i==len)
**/
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
int len=nums.size();
if(len==) return {};
vector<vector<int>> res;
vector<int>e;
dfs(,nums,res,e);
return res;
}
void dfs(int i,vector<int>&nums,vector<vector<int>>&res,vector<int>e){
if(i>=nums.size()){
res.push_back(e);return;
}
dfs(i+,nums,res,e);
e.push_back(nums[i]);
dfs(i+,nums,res,e);
}
};

leetcode 78子集的更多相关文章

  1. LeetCode 78. 子集(Subsets) 34

    78. 子集 78. Subsets 题目描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 每日一算法2019/6/6Day 34L ...

  2. 每日一题-——LeetCode(78)子集

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集).输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  [1,2,3],  [1,3],  [2, ...

  3. Java实现 LeetCode 78 子集

    78. 子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], ...

  4. [LeetCode]78. 子集(位运算;回溯法待做)

    题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1],   ...

  5. LeetCode 78 - 子集

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1, ...

  6. leetcode 78. 子集 JAVA

    题目: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1], ...

  7. [LeetCode] 78. 子集 ☆☆☆(回溯)

    描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3],  [1],  [2] ...

  8. leetcode 78. 子集(c++)

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3],  [1],  [2],  ...

  9. LeetCode 78. 子集 C++(位运算和回溯法)

    位运算 class Solution { public: vector<vector<int>> subsets(vector<int>& nums) { ...

随机推荐

  1. MySQL5.5配置文件my.ini详解

    [client]port = 3306 [mysqld]port = 3306 ##安装目录 basedir="C:/Program Files (x86)/MySQL/MySQL Serv ...

  2. php连接阿里云mysql

    1.开启Mysql远程访问端口 现在服务器控制台,安全组那边开启3306端口 2.修改Mysql配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-a ...

  3. 自学Python5.5-面向对象三大基本特征_继承

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  4. 普元 BPS表结构参考

    BPS表结构 BPS默认采用数据库方式对业务流程的定义以及运行期的流程实例.活动.工作项等进行持久化存储.主要包括BPS流程流转相关的定义.实例.工作项.参与者相关的数据表以及和实际业务流程控制相关的 ...

  5. Gym - 102040F Path Intersection (树链剖分+线段树)

    题意:给出棵树上的k条路径,求这些路径的公共点数量. 将每条路径上的点都打上标记,被标记过k次的点就是公共点了.由于公共点形成的区间是连续的,因此直接在线段树上暴搜即可在$O(logn)$求出一条链上 ...

  6. 【hiho1035】自驾旅行III

    题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,树边有两个权值,分别为走路的代价和开车的代价.有一个旅行者开车要从根节点出发,必须遍历给定点集,可以在任何位置停止旅行,有车时可以选择开车或 ...

  7. DB2中常见sqlCode原因分析

    000 | 00000 | SQL语句成功完成 01xxx | SQL语句成功完成,但是有警告 +012 | 01545 | 未限定的列名被解释为一个有相互关系的引用 +098 | 01568 | 动 ...

  8. Five minutes to understand async and defer

    Script tag When we want to insert a script into a web page, the standard way is to use the script ta ...

  9. selenium相关导入By、Keys、WebDriverWait、ActionChains,显示等待与隐式等待

    # -*- coding: utf-8 -*- """ @author: Dell Created on Tue Dec 24 12:33:56 2019 "& ...

  10. 解决c#distinct不好用的问题

    当一个结合中想根据某一个字段做去重方法时使用以下代码 IQueryable 继承自IEnumerable 先举例: #region linq to object List<People> ...