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

【代码随想录day 25】 力扣 46. 全排列

视频讲解:https://www.bilibili.com/video/BV19v4y1S79W/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0046.%E5%85%A8%E6%8E%92%E5%88%97.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/permutations/

在这里插入图片描述
这道题还是比较简单的,相较于之前的题来说,这道题的一大特点就是树枝去重,之前的都是树层去重,所谓树枝去重,就是我们在一条遍历过程中,本身的元素的二次遍历不需要,比如第一次选择2,剩下13,下一次遍历我需要从1开始,但是不想要2怎么办,就要进行树枝去重,我们还是借用之前树层去重的方式used,如果一条遍历过程中,元素等于ture就说明已经选择过了,直接continue下一个即可。

class Solution {
private:vector<int> path;vector<vector<int>> result;void backtracking(vector<int> &nums, int startIndex, vector<bool> &used){//判断终止条件if(path.size() == nums.size()){result.push_back(path);return;}//单层搜索for(int i = startIndex; i < nums.size(); i++){if(used[i] == true){continue;}//存入path元素path.push_back(nums[i]);//更新usedused[i] = true;//回溯--需要从头回溯backtracking(nums, 0, used);//回溯path.pop_back();used[i] = false;}return;}
public:vector<vector<int>> permute(vector<int>& nums) {result.clear();path.clear();vector<bool> used(nums.size(), false);backtracking(nums, 0, used);return result;}
};

文章转载自:

http://DXLeyCtM.crsnb.cn
http://9OMrhtlq.crsnb.cn
http://q7PF148q.crsnb.cn
http://xOOY0nnT.crsnb.cn
http://a1bQsqfF.crsnb.cn
http://kQtkr7MC.crsnb.cn
http://CBEHy1MG.crsnb.cn
http://xCfkcypd.crsnb.cn
http://qBETAkxt.crsnb.cn
http://6niOXPRO.crsnb.cn
http://Svn1cppN.crsnb.cn
http://OK0sll9a.crsnb.cn
http://3SQDORUQ.crsnb.cn
http://6oKtiB7r.crsnb.cn
http://505nzlj7.crsnb.cn
http://htcdMFG2.crsnb.cn
http://PHq2hoZV.crsnb.cn
http://f2E8xmoz.crsnb.cn
http://ABAerys3.crsnb.cn
http://d3fQmk5n.crsnb.cn
http://Zv7Orkqq.crsnb.cn
http://bqwZBhfa.crsnb.cn
http://FzjaLW43.crsnb.cn
http://MhCoVlg2.crsnb.cn
http://ndjZGMZE.crsnb.cn
http://8OoHM3ze.crsnb.cn
http://xKxcp8r9.crsnb.cn
http://CRXUK3st.crsnb.cn
http://iyZQQCL9.crsnb.cn
http://P8l7MAN3.crsnb.cn
http://www.dtcms.com/a/381014.html

相关文章:

  • Java JUC并发集合详解:线程安全容器完全指南
  • 流畅的Python(二) 丰富的序列
  • DPO vs PPO,偏好优化的两条技术路径
  • clickhouse的UInt64类型(countIf() 函数返回)
  • 算法之线性基
  • GlobalBuildingAtlas 建筑物白模数据下载
  • 用pywin32连接autocad 写一个利用遗传算法从选择的闭合图形内进行最优利用率的排版 ai草稿
  • 性能测试工具JvisualVM/jconsole使用
  • 面试题:Redis要点总结(性能和使用)
  • 无卡发薪系统:灵活用工全链条协同的核心枢纽( “数据互通、流程联动” 为核心,将人力招聘、劳务结算、电子合同签约、保险投保深度整合,构建灵活用工管理闭环。)
  • 万物皆可PID:深入理解控制算法在OpenBMC风扇调速中的应用
  • Centos修改主机明后oracle的修改
  • 使用 nanoVLM 训练一个 VLM
  • 2025年- H135-Lc209. 长度最小的子数组(字符串)--Java版
  • 数据库建表练习
  • 使用tree命令导出文件夹/文件的目录树(linux)
  • 【SQL】指定日期的产品价格
  • 在WPF项目中使用阿里图标库iconfont
  • 新能源知识库(91)《新型储能规模化行动方案》精华摘引
  • 51c自动驾驶~合集29
  • Arbess V2.0.7版本发布,支持Docker/主机蓝绿部署任务,支持Gradle构建、Agent运行策略
  • 中科米堆CASAIM自动化三维检测系统-支持批量测量工件三维尺寸
  • 【学习K230-例程19】GT6700-TCP-Client
  • Java链表
  • 【PostgreSQL内核学习:表达式】
  • 步骤流程中日志记录方案(类aop)
  • React.memo 小练习题 + 参考答案
  • Java 的即时编译器(JIT)优化编译探测技术
  • 《计算机网络安全》实验报告一 现代网络安全挑战 拒绝服务与分布式拒绝服务攻击的演变与防御策略(4)
  • 综合体EMS微电网能效管理系统解决方案