当前位置: 首页 > news >正文

[leetcode] 子集

78. 子集 - 力扣(LeetCode)

//方法一
class Solution {vector<vector<int>> ret;vector<int> path;
public:vector<vector<int>> subsets(vector<int>& nums) {dfs(nums, 0);return ret;}void dfs(vector<int>& nums, int i){if(i == nums.size()) //注意判断条件,需要在叶子节点拿结果{ret.push_back(path);return;}//选path.push_back(nums[i]);dfs(nums, i + 1);path.pop_back(); //回溯//不选dfs(nums, i + 1);}
};

//方法二
class Solution {vector<vector<int>> ret;vector<int> path;
public:vector<vector<int>> subsets(vector<int>& nums) {dfs(nums, 0);return ret;}void dfs(vector<int>& nums, int pos){ret.emplace_back(path);for(int i = pos; i < nums.size(); i++){path.emplace_back(nums[i]);dfs(nums, i + 1);path.pop_back();}return;}
};

两种方法的相同点:都不需要剪枝

不同点:方法一的结果都在最底层的叶子结点且有递归条件,而方法二每个结点都是结果,并且没有递归条件

http://www.dtcms.com/a/304918.html

相关文章:

  • OpenCL - study - code04 canny
  • 泰勒图中RMSD和RMSE是一个指标吗?
  • 掌控AI工具链:用 Python + API 构建 AI MCP 服务器
  • VUE进阶案例
  • Apple: A Legendary Journey of Innovation, Business, and Global Influence
  • [SWPU2019]Web1
  • VxWorks入门 【VxWorks程序运行】六
  • 数据库表的运算及表示方法
  • jQuery DOM 遍历详解
  • docker技术框架
  • 2024年蓝桥杯Scratch10月图形化stema选拔赛真题——旋转的图形
  • Luogu P2577 午餐(ZJOI2004)
  • 市政道路积水监测系统:守护城市雨天出行安全的 “智慧防线”
  • iOS仿写 —— 计算器
  • 前端代码格式化工具HTML离线版
  • redhat7.9更换源为centos7(阿里云源-目前centos7可用的源)
  • 函数对象 vs 函数指针 vs lambda:该用哪个才高效?
  • 利用对称算法及非对称算法实现安全启动
  • 【车联网kafka】Kafka核心架构与实战经验(第一篇)
  • 【机器学习深度学习】分布式训练的核心技术全解:数据并行、模型并行、流水线并行与3D混合并行
  • 基于最小二乘支持向量机(LSSVM)的气象预测
  • 原生html+js+jq+less 实现时间区间下拉弹窗选择器
  • css 二维变换之详说
  • 引领汽车加速向具身智能进化,吉利携阶跃星辰参展WAIC 2025
  • GitHub下载项目完整配置SSH步骤详解
  • 高效管理多个异步上下文:初识 Python 中的 AsyncExitStack
  • 在Word和WPS文字中让文字无极限缩放,用键盘更高效
  • protobuf2.5.0 arm_linux
  • STM32系统定时器(SysTick)详解:从原理到实战的精确延时与任务调度
  • 《计算机组成原理与汇编语言程序设计》实验报告五 循环结构及子程序