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

专题三:穷举、暴搜、深搜、回溯、剪枝【递归、搜索、回溯】

1、全排列 

class Solution {
public:vector<vector<int>> ret;vector<int> path;bool check[7];void dfs(vector<int>& nums){if(nums.size() == path.size()) {ret.push_back(path);return;}for(int i = 0;i < nums.size();i++){if(check[i] == false){path.push_back(nums[i]);check[i] = true;dfs(nums);//回溯path.pop_back();check[i] = false;}}}vector<vector<int>> permute(vector<int>& nums) {dfs(nums);return ret;}
};

 2、子集

解法一:根据每个元素选/不选来思考:  

解法二:根据元素个数来思考:

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

 

http://www.lryc.cn/news/194797.html

相关文章:

  • 国科云SSL证书讲堂:SSL证书安装常见问题盘点
  • Python3无法调用Sqlalchemy解决(mysqldb)
  • 2023/10/15总结
  • 关于图像分割SDK的一些基础认识
  • SpringMVC之国际化上传下载
  • TigerVNC自动设置密码脚本
  • 什么是美体SDK?美摄美颜美体SDK对接开发指南
  • 【Java集合中各种数据结构的方法汇总】
  • 算法通过村第十四关-堆|白银笔记|经典问题
  • 如何正确维护实验室超声波清洗器?
  • DID赛道前列的生物识别技术,开启Web3时代的大门—MXT
  • Java基础面试-final
  • 全波形反演的目标和技术
  • 【SA8295P 源码分析】105 - QNX MISC分区读写、切换A/B启动槽、读取开机次数命令 swdl_utils 介绍 及 祼分区读写 代码实现
  • Grade 5 Math
  • 简易的慢SQL自定义告警实战经验(支持多数据源)
  • 【Springboot】Filter 过滤器的使用
  • 力扣-461.汉明距离
  • GEE 18:基于GEE平台的土地荒漠化监测与分析【论文复现】
  • 平台系统老板驾驶舱的重要性,我选云表
  • 【SpringMVC篇】探索请求映射路径,Get请求与Post请求
  • vqvae简单实战,利用vqvae来提升模型向量表达
  • idea禁用双击ctrl
  • 记使用docker部署项目出现问题
  • EDU挖掘
  • 机器人制作开源方案 | 杠杆式6轮爬楼机器人
  • 报错——warning: ignoring JAVA_HOME=/home/jdk/jdk1.8.0_281; using bundled JDK
  • 【Java8】java.time 根据日期获取年初年末、月初月末、日初日末
  • 【LeetCode: 137. 只出现一次的数字 II | 位运算 | 哈希表】
  • 「深入探究Web页面生命周期:DOMContentLoaded、load、beforeunload和unload事件」