原题目

给定一个不含重复数字的数组 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 解答)相关推荐

  1. LeetCode 46. 全排列(回溯)

    文章目录 1. 题目信息 2. 解题 2.1 利用hash map解决 2.2 改用bool数组判断是否出现过 1. 题目信息 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例:输入: [1 ...

  2. leetcode —— 46. 全排列(递归+回溯)

    给定一个 没有重复 数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2 ...

  3. 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 ...

  4. LeetCode 46.全排列

    题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], ...

  5. LeetCode 46——全排列

    1. 题目 2. 解答 给定一个序列,序列中的任意一个数字都可以作为全排列的最后一位.然后,其余位置元素的确定便是剩余元素的一个全排列,也就是一个子问题. 例子中 [1, 2, 3] 的全排列,最后一 ...

  6. leetcode 46 全排列

    难度:中等 频次:119 题目: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 解题思路:回溯遍历 class Solution {public ...

  7. Leetcode 46.全排列 (每日一题 20210621)

    给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案.示例 1:输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3], ...

  8. leetcode 46. 全排列 思考分析

    目录 1.题目 2.思考 3.优化 1.题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列. 2.思考 老规矩,先画出给出的例子的解空间树: 观察我们可以发现: 1.深度向下一层深入时,出现 ...

  9. leetcode — 46. 全排列(不含重复数字)

    给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3 ...

  10. LeetCode 46. 全排列 Permutations

    给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ] 您是 ...

最新文章

  1. qemu+tap+bridge
  2. Windows 窗体多线程
  3. 斐波那契问题的递归和动态规划
  4. web前端入门学习 css(3)(背景相关)
  5. BootISO:从 ISO 文件中创建一个可启动的 USB 设备
  6. python将txt文件中的大小写转换_面试题:Python大小写转换
  7. 运营管理整改报告范文_整改报告 反馈问题整改报告范文精选5篇
  8. 一、快速开始一个 MyBatis项目(详解)
  9. 【源码】2012年斗地主算法大全
  10. UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络,多任务上实现SOTA
  11. 在其他事件中repeater的取值
  12. ajax写入txt,javascript结合ajax读取txt文件内容
  13. 有安全研究者混入了 PHP 8.0 开发组!
  14. 从Discuz迁移帐号密码到NodeBB
  15. 移动端——论使用图片撑出模拟背景所带来的好处(主要解决图片之上是一些动态变化的内容,图片的效果难以使用程序来实现)...
  16. MOS管防倒灌电路设计及其过程分析
  17. 英文参考文献的正确引用格式详解
  18. 让浏览器下载的文件不再是锁定状态
  19. 微信小程序chooseMedia应用
  20. Origin绘图时出现Speed Mode is on水印解决方式

热门文章

  1. 达梦用户登录锁定,登录次数超过限制,登录失败
  2. DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
  3. atom可以编程c语言吗,Atom使用心得
  4. switch_status not allowed等物理dataguard 正常切换 脚色转换
  5. 转型元年 中企动力欲用云重新定义企业网站服务
  6. 差分电荷密度怎么画_MS电荷密度在Origin中作图方法
  7. 电能质量监测和分析仪器的设计与应用
  8. itunes store服务中断_玩不下去?存在已久iTunes补贴服务终止
  9. JsGear -- JavaScript版变速齿轮
  10. AB 系统OTA升级介绍