LeetCode:46. 全排列47. 全排列 II

Posted 南岸青栀*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:46. 全排列47. 全排列 II相关的知识,希望对你有一定的参考价值。

46. 全排列

在这里插入图片描述

法1:回溯法

在这里插入图片描述

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        res = []
        #回溯法
        def rescursion(fst = 0):
            if fst == len(nums):
                res.append(nums[:])
            for i in range(fst,len(nums)):
                nums[fst],nums[i] = nums[i],nums[fst]
                rescursion(fst+1)
                nums[fst],nums[i] = nums[i],nums[fst]
        rescursion()
        return res

47. 全排列 II

在这里插入图片描述
法1:回溯法

class Solution:
    def permuteUnique(self, nums: List[int]) -> List[List[int]]:
        res = []

        #回溯法
        def rescursion(fst = 0):
            if fst == len(nums) and nums not in res:
                res.append(nums[:])
            for i in range(fst,len(nums)):
                nums[fst],nums[i] = nums[i],nums[fst]
                rescursion(fst+1)
                nums[fst],nums[i] = nums[i],nums[fst]
        rescursion()
        return res

以上是关于LeetCode:46. 全排列47. 全排列 II的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 46. Permutations 全排列(中等)

leetcode 47. 全排列 II---回溯篇6

LeetCode 47. 全排列 II(Permutations II)

leetcode-46. 全排列--回溯算法--python

leetcode-46. 全排列--回溯算法--python

LeetCode46 回溯算法求全排列,这次是真全排列