美文网首页
Leetcode_46_全排列_hn

Leetcode_46_全排列_hn

作者: 1只特立独行的猪 | 来源:发表于2020-03-15 18:16 被阅读0次

    题目描述

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

    示例

    示例 1:

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

    解答方法

    方法一:回溯法

    思路

    https://leetcode-cn.com/problems/permutations/solution/hui-su-suan-fa-xiang-jie-by-labuladong-2/

    代码

    class Solution:
        def permute(self, nums: List[int]) -> List[List[int]]:
            res = []
            def backtrack(nums, tmp):
                if not nums:
                    res.append(tmp)
                    return
                for i in range(len(nums)):
                    backtrack(nums[:i] + nums[i + 1:], tmp + [nums[i]])
            backtrack(nums, [])
            return res
    
    

    时间复杂度

    空间复杂度

    O(N!) ,由于必须要保存N! 个解。

    相关文章

      网友评论

          本文标题:Leetcode_46_全排列_hn

          本文链接:https://www.haomeiwen.com/subject/ocysehtx.html