news 2026/6/17 13:20:51

LeetCode--46.全排列(回溯算法)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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] <= 10
  • nums中的所有整数互不相同

代码

classSolution{// 存放所有排列结果List<List<Integer>>result=newArrayList<>();// 当前路径(当前排列)List<Integer>path=newArrayList<>();/** * 回溯函数 * * @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(inti=0;i<nums.length;i++){/** * 如果当前元素没有被使用 */if(used[i]==0){// 做选择:加入当前元素path.add(nums[i]);// 标记当前元素已使用used[i]=1;// 递归下一层backtracking(nums,used);// 回溯:恢复现场// 当前元素恢复未使用状态used[i]=0;// 删除路径最后一个元素path.remove(path.size()-1);}}}publicList<List<Integer>>permute(int[]nums){/** * used数组: * * used[i] == 1 * 表示 nums[i] 已经在当前路径中 * * used[i] == 0 * 表示 nums[i] 还未使用 */int[]used=newint[nums.length];backtracking(nums,used);returnresult;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 13:11:50

第16章:【基础篇综合实战】搭建企业级 vLLM 问答服务

1. 项目背景 某智能家居公司的内部支持团队每天要处理200+条来自客服、销售、技术支持的重复性问题——“智能门锁如何重置?”“空调E3故障码什么意思?”“保修期是多久?”——这些问题占内部知识库检索次数的70%,但答案分散在PDF手册、wiki页面、FAQ文档和微信群聊天记录…

作者头像 李华
网站建设 2026/6/17 13:09:56

财税代运营如何规避批量出错?2026智能体自动化实操指南

在2026年的财税服务市场&#xff0c;行业格局已发生深刻重构。随着金税四期监管体系的全面落地以及财税AI大模型的深度普及&#xff0c;中小企业代账渗透率已从2020年的58%攀升至目前的82%以上&#xff08;来源&#xff1a;中国财税行业协会&#xff0c;2026年5月&#xff09;。…

作者头像 李华
网站建设 2026/6/17 13:07:50

ZigBee ZCL集群开发实战:温控器UI与门锁集群详解

1. 项目概述与ZCL核心价值如果你正在开发基于ZigBee 3.0的智能家居设备&#xff0c;比如一个可以远程调节温度的温控器&#xff0c;或者一把能通过手机App开关的智能门锁&#xff0c;那么你一定会遇到一个绕不开的核心组件——ZigBee集群库。这玩意儿&#xff0c;说简单点&…

作者头像 李华
网站建设 2026/6/17 13:03:50

强化学习落地五大硬核实战原则:从奖励设计到工业部署

1. 这不是理论课&#xff0c;是带你看清RL Agent怎么“长脑子”的实操手记我带过六届AI方向的实习生&#xff0c;也给三支工业机器人团队做过RL落地咨询。每次聊到强化学习&#xff0c;总有人一上来就翻《Reinforcement Learning: An Introduction》&#xff0c;结果两周后还在…

作者头像 李华
网站建设 2026/6/17 13:03:34

Chrome安全增强全攻略:从配置加固到扩展管控与更新故障排查

1. 项目概述&#xff1a;为什么我们需要一个“更安全”的Chrome&#xff1f;如果你和我一样&#xff0c;每天大部分时间都泡在浏览器里&#xff0c;那你肯定对Google Chrome不陌生。它快、功能多、生态丰富&#xff0c;几乎是现代互联网的入口。但用久了&#xff0c;尤其是处理…

作者头像 李华
网站建设 2026/6/17 13:01:48

终极音乐解锁指南:如何在浏览器中免费解密12种加密音乐格式

终极音乐解锁指南&#xff1a;如何在浏览器中免费解密12种加密音乐格式 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: …

作者头像 李华