LeetCode--46.全排列(回溯算法)
46.全排列题目描述给定一个不含重复数字的数组nums返回其所有可能的全排列。你可以按任意顺序返回答案。示例 1输入nums [1,2,3] 输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2输入nums [0,1] 输出[[0,1],[1,0]]示例 3输入nums [1] 输出[[1]]提示1 nums.length 6-10 nums[i] 10nums中的所有整数互不相同代码classSolution{// 存放所有排列结果ListListIntegerresultnewArrayList();// 当前路径当前排列ListIntegerpathnewArrayList();/** * 回溯函数 * * param nums 原数组 * param used used[i] 表示 nums[i] 是否已经被使用 */publicvoidbacktracking(int[]nums,int[]used){/** * 终止条件 * * 当当前路径长度等于数组长度时 * 说明已经形成一个完整排列 */if(path.size()nums.length){// 加入结果集result.add(newArrayList(path));return;}/** * 全排列 * 每一层都要从 0 开始遍历 * * 因为 * 每个位置都可以放任意未使用元素 */for(inti0;inums.length;i){/** * 如果当前元素没有被使用 */if(used[i]0){// 做选择加入当前元素path.add(nums[i]);// 标记当前元素已使用used[i]1;// 递归下一层backtracking(nums,used);// 回溯恢复现场// 当前元素恢复未使用状态used[i]0;// 删除路径最后一个元素path.remove(path.size()-1);}}}publicListListIntegerpermute(int[]nums){/** * used数组 * * used[i] 1 * 表示 nums[i] 已经在当前路径中 * * used[i] 0 * 表示 nums[i] 还未使用 */int[]usednewint[nums.length];backtracking(nums,used);returnresult;}}

相关新闻

3天从零开始:用Arduino-ESP32打造你的第一个智能物联网项目

3天从零开始:用Arduino-ESP32打造你的第一个智能物联网项目

3天从零开始:用Arduino-ESP32打造你的第一个智能物联网项目 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 想要快速入门ESP32开发却不知从何下手?…

2026/6/17 13:21:50阅读更多 →
PX4飞控系统完整入门指南:从零搭建无人机自主飞行平台

PX4飞控系统完整入门指南:从零搭建无人机自主飞行平台

PX4飞控系统完整入门指南:从零搭建无人机自主飞行平台 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 想要快速掌握无人机自主飞行的核心技术?PX4飞控系统作为业界领先的开源…

2026/6/17 13:21:50阅读更多 →
3分钟上手Mermaid Live Editor:零代码画图原来这么简单!

3分钟上手Mermaid Live Editor:零代码画图原来这么简单!

3分钟上手Mermaid Live Editor:零代码画图原来这么简单! 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermai…

2026/6/17 13:21:50阅读更多 →
Obsidian Border主题:3步打造你的专属知识管理空间,效率提升40%

Obsidian Border主题:3步打造你的专属知识管理空间,效率提升40%

Obsidian Border主题:3步打造你的专属知识管理空间,效率提升40% 【免费下载链接】obsidian-border A theme for obsidian.md 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-border 你是否曾经因为Obsidian的界面过于单调而无法专注&…

2026/6/17 16:19:18阅读更多 →
OptiScaler技术架构深度解析:跨GPU超分辨率与帧生成桥接实现机制

OptiScaler技术架构深度解析:跨GPU超分辨率与帧生成桥接实现机制

OptiScaler技术架构深度解析:跨GPU超分辨率与帧生成桥接实现机制 【免费下载链接】OptiScaler OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2/XeSS/FSR2 inputs, replaces native upscalers, enables FSR-FG/XeFG on non-FG titles. Support…

2026/6/17 16:19:18阅读更多 →
如何5分钟快速搭建TFTP服务器:Tftpd64完整配置指南

如何5分钟快速搭建TFTP服务器:Tftpd64完整配置指南

如何5分钟快速搭建TFTP服务器:Tftpd64完整配置指南 【免费下载链接】tftpd64 The working repository of the famous TFTP server. 项目地址: https://gitcode.com/gh_mirrors/tf/tftpd64 Tftpd64是一款免费开源的轻量级TFTP服务器套件,集成了TFT…

2026/6/17 16:19:18阅读更多 →
5步掌握Godot物理关节:从基础约束到复杂机械结构设计

5步掌握Godot物理关节:从基础约束到复杂机械结构设计

5步掌握Godot物理关节:从基础约束到复杂机械结构设计 【免费下载链接】godot Godot Engine – Multi-platform 2D and 3D game engine 项目地址: https://gitcode.com/GitHub_Trending/go/godot 想要在Godot中创建逼真的机械装置却总被卡顿和穿模困扰&#x…

2026/6/17 16:19:18阅读更多 →
RPCS3模拟器完整指南:在PC上畅玩PS3游戏的实用教程

RPCS3模拟器完整指南:在PC上畅玩PS3游戏的实用教程

RPCS3模拟器完整指南:在PC上畅玩PS3游戏的实用教程 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 RPCS3是全球首个免费开源的PlayStation 3模拟器和调试器,让你能够在Win…

2026/6/17 16:19:18阅读更多 →
海泰克触摸屏软件ADP V6.8.0:组态、通信与维护实战指南

海泰克触摸屏软件ADP V6.8.0:组态、通信与维护实战指南

1. 项目概述:海泰克触摸屏软件的核心价值 在工业自动化现场,触摸屏作为人机交互的核心枢纽,其重要性不言而喻。它不仅是操作员下达指令的窗口,更是设备状态、生产数据、报警信息的集中展示平台。提到触摸屏品牌,大家可…

2026/6/17 16:14:15阅读更多 →
飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

OpenClaw 2.7.9 对接飞书机器人完整配置教程 本文讲解借助长连接模式打通 OpenClaw 与飞书的操作流程,配置完成后,可在飞书私聊、群组内发送指令,调用本地 AI 实现电脑自动化操作。整体流程分为飞书平台创建应用、权限配置、密钥填写三大环节…

2026/6/17 10:40:20阅读更多 →
嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

1. 嵌入式处理器:从“大脑”到“神经系统”的进化 在电子设备无处不在的今天,我们很少会去思考一个智能设备是如何“思考”和“行动”的。无论是汽车引擎的精准控制、工厂机械臂的流畅运转,还是智能家居的自动响应,其背后都离不开…

2026/6/17 10:40:20阅读更多 →
如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning 项目地…

2026/6/17 10:40:20阅读更多 →