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

LeetCode 子集

原题链接78. 子集 - 力扣(LeetCode)

这是一道暴力搜索问题参考大佬们的题解,对这类题目做出一下总结

1.确定递归参数变量

2.递归结束条件

3.做出选择,递归调用进入下一层

4.回溯,返回到递归前的状态

要完成前面这几步有一个重要的前提条件,你要确定采用什么样式的递归,这个来源于解题经验,

这道题采用顺序递归(我想的名字),举个例子,1,2,3,如果我先选了1,那么按照从左到右的顺序剩下的子集里可选的就是2,3,我下面要从2,3当中选一个,如果选2,那么按照从左到右的顺序,下面可选的子集就只有3.

如果我选3呢,那么按照从左到右的顺序,剩下的子集里就没有可选的了,因为从左到右吗,2被我们跳过了,选了3之后就该选3后面的

class Solution {
private: vector<vector<int>>res;void backtrack(vector<int>num,vector<int>& ans,int start){//终止条件res.push_back(ans);//这里在最开始的时候压入了一个空集合for (int i = start; i < num.size(); i++){ans.push_back(num[i]);backtrack(num, ans, i + 1);ans.pop_back();//弹出最后一个元素,就是我们刚才压入的元素}}
public:vector<vector<int>> subsets(vector<int>& nums) {vector<int>ans;backtrack(nums, ans, 0);return res;}
};

相关文章:

  • Dubbo用法示例
  • 003-GeoGebra如何无缝嵌入到PPT里
  • 动态渲染dom
  • php 命令行模式详解
  • 安卓模拟器如何修改ip地址
  • 【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)
  • MySQL 语法教程
  • 【SCAU操作系统】期末复习简答及计算题例题解析
  • Spring Boot与微服务治理框架的集成方法
  • 【ARM】MCU和SOC的区别
  • python将多个文件夹里面的文件拷贝到一个文件夹中
  • 【云原生监控】Prometheus 普罗米修斯从搭建到使用详解
  • C# 特性 Attribute 反射 Reflection 元数据 Metadata
  • Jdk17是否有可能代替 Jdk8
  • 你想活出怎样的人生?
  • ES6指北【2】—— 箭头函数
  • $translatePartialLoader加载失败及解决方式
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Fabric架构演变之路
  • input实现文字超出省略号功能
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java-详解HashMap
  • Lucene解析 - 基本概念
  • nodejs调试方法
  • passportjs 源码分析
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue2.x学习三:事件处理生命周期钩子
  • 简单数学运算程序(不定期更新)
  • 前端面试之闭包
  • 浅谈Golang中select的用法
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 移动端 h5开发相关内容总结(三)
  • 由插件封装引出的一丢丢思考
  • 在Unity中实现一个简单的消息管理器
  • 智能网联汽车信息安全
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 国内开源镜像站点
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (二)windows配置JDK环境
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (七)Knockout 创建自定义绑定
  • (数据结构)顺序表的定义
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)RocketMQ初步认识
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET MVC 验证码
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET中的Exception处理(C#)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • /3GB和/USERVA开关
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...