leetCode 46:全排列(Javascript 解答)
原题目
给定一个不含重复数字的数组 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]]
解题思路
题目说到不重复,那么只需要用一个数组来标记已选择过的元素。下一轮递归时,跳过这个元素即可。
这个题很简单,实在没什么解题思路了
代码
var permute = function (nums) {let res = [];// 记录本轮递归以选择过的元素let vis = {};let ope = (cur) => {if (cur.length === nums.length) {res.push(cur);return;}for (let i = 0; i < nums.length; i++) {// 跳过已选择过的元素if (vis[i]) {continue;}// 记录已选择过的元素vis[i] = true;cur.push(nums[i]);ope(cur.slice());cur.pop();// 删除标记vis[i] = false;}};ope([]);return res;
};console.log(permute([1, 2, 3]));
leetCode 46:全排列(Javascript 解答)相关推荐
- LeetCode 46. 全排列(回溯)
文章目录 1. 题目信息 2. 解题 2.1 利用hash map解决 2.2 改用bool数组判断是否出现过 1. 题目信息 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例:输入: [1 ...
- leetcode —— 46. 全排列(递归+回溯)
给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2 ...
- leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1 ...
- LeetCode 46.全排列
题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...
- LeetCode 46——全排列
1. 题目 2. 解答 给定一个序列,序列中的任意一个数字都可以作为全排列的最后一位.然后,其余位置元素的确定便是剩余元素的一个全排列,也就是一个子问题. 例子中 [1, 2, 3] 的全排列,最后一 ...
- leetcode 46 全排列
难度:中等 频次:119 题目: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 解题思路:回溯遍历 class Solution {public ...
- Leetcode 46.全排列 (每日一题 20210621)
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案.示例 1:输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3], ...
- leetcode 46. 全排列 思考分析
目录 1.题目 2.思考 3.优化 1.题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 2.思考 老规矩,先画出给出的例子的解空间树: 观察我们可以发现: 1.深度向下一层深入时,出现 ...
- leetcode — 46. 全排列(不含重复数字)
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3 ...
- LeetCode 46. 全排列 Permutations
给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ] 您是 ...
最新文章
- qemu+tap+bridge
- Windows 窗体多线程
- 斐波那契问题的递归和动态规划
- web前端入门学习 css(3)(背景相关)
- BootISO:从 ISO 文件中创建一个可启动的 USB 设备
- python将txt文件中的大小写转换_面试题:Python大小写转换
- 运营管理整改报告范文_整改报告 反馈问题整改报告范文精选5篇
- 一、快速开始一个 MyBatis项目(详解)
- 【源码】2012年斗地主算法大全
- UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络,多任务上实现SOTA
- 在其他事件中repeater的取值
- ajax写入txt,javascript结合ajax读取txt文件内容
- 有安全研究者混入了 PHP 8.0 开发组!
- 从Discuz迁移帐号密码到NodeBB
- 移动端——论使用图片撑出模拟背景所带来的好处(主要解决图片之上是一些动态变化的内容,图片的效果难以使用程序来实现)...
- MOS管防倒灌电路设计及其过程分析
- 英文参考文献的正确引用格式详解
- 让浏览器下载的文件不再是锁定状态
- 微信小程序chooseMedia应用
- Origin绘图时出现Speed Mode is on水印解决方式
热门文章
- 达梦用户登录锁定,登录次数超过限制,登录失败
- DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
- atom可以编程c语言吗,Atom使用心得
- switch_status not allowed等物理dataguard 正常切换 脚色转换
- 转型元年 中企动力欲用云重新定义企业网站服务
- 差分电荷密度怎么画_MS电荷密度在Origin中作图方法
- 电能质量监测和分析仪器的设计与应用
- itunes store服务中断_玩不下去?存在已久iTunes补贴服务终止
- JsGear -- JavaScript版变速齿轮
- AB 系统OTA升级介绍