首页 > 编程语言 > 详细

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

时间:2020-05-09 11:17:07      阅读:337      评论:0      收藏:0      [点我收藏+]
题目:
全排列:给定一个 没有重复 数字的序列,返回其所有可能的全排列。
思路:
使用回溯算法的模板。
程序:
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

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

原文:https://www.cnblogs.com/zhuozige/p/12855951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!