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