资讯专栏INFORMATION COLUMN

LeetCode46.全排列 JavaScript

ctriptech / 646人阅读

摘要:给定一个没有重复数字的序列,返回其所有可能的全排列。示例输入输出参考

给定一个没有重复数字的序列,返回其所有可能的全排列。

示例:

输入: [1,2,3]
输出:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]

参考:

/**
 * @param {number[]} nums
 * @return {number[][]}
 */

var permute = function (nums) {
    result = []
    nums.sort(function (a, b) {
        return a - b
    })
    find(nums, [])
    return result
};

let result = []

function find(nums, templateList) {
    if (nums.length == 0) {
        result.push(templateList.slice())
    }
    for (let i = 0; i < nums.length; i++) {
        templateList.push(nums[i])
        let copy = nums.slice()
        copy.splice(i, 1)
        find(copy, templateList)
        templateList.pop()
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104727.html

相关文章

  • 力扣(LeetCode)46

    摘要:题目地址题目描述给定一个没有重复数字的序列,返回其所有可能的全排列。 题目地址:https://leetcode-cn.com/probl...题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解答:利用递归,我们可...

    李增田 评论0 收藏0
  • leetcode 46 Permutations

    摘要:例如有如下的全排列想法这道题是用回溯法的思想解决的。回溯法在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发深度优先搜索,搜索到某个点的时候,先判断该节点是否包含问题的解,如果包含就继续探索,否则就逐层向根节点回溯。 题目详情 Given a collection of distinct numbers, return all possible permutations....

    jubincn 评论0 收藏0
  • Leetcode】78. 子集

    摘要:题目给定一组不含重复元素的整数数组,返回该数组所有可能的子集幂集。说明解集不能包含重复的子集。示例输入输出题解全排列,部分排列这些问题都是回溯的题目。这个题目每个状态都是解,包括空也是解,所以直接都加进去就好。 题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ ...

    laznrbfe 评论0 收藏0
  • Leetcode】78. 子集

    摘要:题目给定一组不含重复元素的整数数组,返回该数组所有可能的子集幂集。说明解集不能包含重复的子集。示例输入输出题解全排列,部分排列这些问题都是回溯的题目。这个题目每个状态都是解,包括空也是解,所以直接都加进去就好。 题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ ...

    miqt 评论0 收藏0

发表评论

0条评论

ctriptech

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<