第三十三题 46. 全排列
2021/9/11 23:05:11
本文主要是介绍第三十三题 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 中的所有整数 互不相同
思路
/** * @param {number[]} nums * @return {number[][]} */ var permute = function(nums) { let result = []; let temp = []; let len = nums.length; let backTracking = function(index,visited){ //只要选取到的长度等于 nums的长度 立即终止 if(temp.length === len){ result.push(temp.slice()); return; } // 每次选取都从第一个数字开始选取 for(let i = 0; i < len; i++){ if(visited[i]) continue; temp.push(nums[i]); //标记已经访问 visited[i] = true; backTracking(i+1,visited); temp.pop(); //取消标记 visited[i] = false; } } backTracking(0,[]); return result; };
这篇关于第三十三题 46. 全排列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南