一:题目

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

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

示例 1:

输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
示例 2:输入:nums = [0]
输出:[[],[0]]

提示:

1 <= nums.length <= 10
-10 <= nums[i] <= 10
nums 中的所有元素 互不相同

二:思路

思路:这里的子集问题是遍历我们的树的所有结点而且,但有一点,我们的每层的遍历范围在缩小

三:上码

class Solution {public:vector<vector<int> >ans;vector<int> path;void backtacking(vector<int>& num ,int index){ans.push_back(path);//当到根节点那么就并不需要再往下遍历了if(path.size() >= num.size()){return;}for(int i = index; i < num.size(); i++){path.push_back(num[i]);backtacking(num,i+1);path.pop_back();}}vector<vector<int>> subsets(vector<int>& nums) {/**思路:这里的子集问题是遍历我们的树的所有结点而且,但有一点,我们的每层的遍历范围在缩小*/backtacking(nums,0);return ans;}
};


加油 陌生的你 素未谋面的你

78. 子集022(回溯法)相关推荐

  1. LeetCode 78. 子集(回溯)

    文章目录 1. 题目信息 2. 解题 2.1 暴力回溯 2.2 循环 2.3 位运算 1. 题目信息 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重 ...

  2. 图的m着色问题(子集树回溯法)

    解空间:子集树 题目比较容易,直接附代码 代码 #include <iostream> using namespace std; int n; //图的顶点数 int x[100]; // ...

  3. 最大团问题(子集树回溯法)

    解空间:子集树 可行性约束函数:顶点t到已经选入顶点集中每一个顶点之间都有边 限界函数:有足够多的可选择的顶点使得算法有可能在右子树中找到更大的团(即cn+(n-t)>bestn) 复杂度分析: ...

  4. leetcode 698. Partition to K Equal Sum Subsets | 698. 划分为k个相等的子集(回溯法)

    题目 https://leetcode.com/problems/partition-to-k-equal-sum-subsets/ 题解 一上来以为是 dp(想到了左神讲的,将一个数组分成两个尽可能 ...

  5. 子集和问题 算法_LeetCode 题解 | 78.子集

    力扣 78. 子集 (点击查看题目) 力扣​leetcode-cn.com 题目描述 给定一组 不含重复元素 的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. ...

  6. 回溯法之递归回溯和迭代回溯

      回溯法有通用解题法之称,它可以系统的搜索一个问题的所有解或者任意解.它在问题的解空间树中,按深度优先策略从根节点出发搜索解空间树,算法搜索至解空间树的任意一个结点时,先判断该节点如(子树)是否包含 ...

  7. 回溯法实例详解(转)

    概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就"回溯"返回,尝试别的路径. 回溯法是一种选优搜索法,按选优条件向前 ...

  8. 力扣78 77 46 子集、排列、组合 C++ 回溯法

    不同题目只需要解除相应的define注释即可 力扣78 子集 力扣77 组合 力扣46 全排列 #define SUBSET 1 // 子集//#define COMBINE 1 // 组合//#de ...

  9. 回溯法,子集选择合集

    框架 回溯的核心特征,做选择. 回溯主要基于递归,它的特点是选择以及撤销选择,非常经典.子问题性质不是很明显.算法复杂度可以从子集数考虑,空间复杂度则一般为递归深度N. 回溯法框架如下: result ...

最新文章

  1. 在CentOS 6.9 x86_64上开启nginx 1.12.2的stub_status模块(ngx_http_stub_status_module)监控
  2. 【Linux】一步一步学Linux——groupadd命令(87)
  3. CSS3 实用技巧:制作三角形
  4. Python-100 练习题 04 判断天数
  5. Random Forest随机森林概述
  6. vs2013中对工程、项目和类更名
  7. mvd没什么每次参数双都多一个逗号_必看!PostgreSQL参数优化
  8. sklearn使用小记GridSearchCV
  9. 使用MVC框架中要注意的问题(一):修改首页以支持主题
  10. php 压入元素,php 数组增加元素的方法 array_push 和 array_merge
  11. Codeforces Round #320 (Div. 2) [Bayan Thanks-Round]
  12. Dart基础第9篇:对象、类
  13. CentOS更换阿里yum源
  14. Delphi 连接 Excel
  15. coreldrawx4缩略图显示不出来_cdrx4无法显示缩略图怎么办?不显示缩略图解决方法...
  16. python一维数组转置_Python 矩阵转置的几种方法小结
  17. Macbook Pro 启动Win7的过程中黑屏(black screen)
  18. 第二章 软件测试基础
  19. layer的anim动画
  20. 25.(cesium篇)cesium军事标绘-攻击箭头采集(燕尾)

热门文章

  1. 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
  2. 如何使用vue组件搭建网页并打包发布
  3. vue定时ajax获取数据,vue 中使用 AJAX获取数据的方法
  4. 各个 Android Gradle 插件版本所需的 Gradle 版本
  5. [转]IPython介绍
  6. C# RichTextBox 实现循环查找关键字
  7. 【CASS精品教程】Win 10操作系统CAD 2006+CASS 7.1安装图文经典教程(附安装包下载)
  8. Android之各个手机版本WiFi热点的创建
  9. LeetCode之字符串(C++)的切割简单实现
  10. 云计算及应用课程知识整理