Leetcode练习(Python):回溯算法类:第46题:全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。


题目:
全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。
思路:
使用回溯算法的模板。
程序:
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        result = []
        auxiliary = []
        def backtrack(nums, auxiliary, result):
            if len(auxiliary) == len(nums):
                result.append(auxiliary[:])
                return 
            for index in range(len(nums)):
                if nums[index] in auxiliary:
                    continue
                auxiliary.append(nums[index])
                backtrack(nums, auxiliary, result)
                auxiliary.pop()
        backtrack(nums, auxiliary, result)
        return result


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM