算法分析与设计课程(3):【leetcode】Permutations

    xiaoxiao2021-03-25  118

    Permutations

    Description:

    Given a collection of distinct numbers, return all possible permutations.

    For example, [1,2,3] have the following permutations:

    算法分析:解决这个问题,很容易想到树,一层层地生成。

                       因此我们可以考虑用递归的方式。

    代码如下:

    __author__ = 'andy' class Solution(object): def permute(self, nums): self.result = [] subList = [] self.cal(nums,subList) return self.result def cal(self,nums,subList): #如果子链表跟原链表等长,则加到结果中 if len(nums)==len(subList): self.result.append(subList[:]) #用递归的方式,得出组合 for a in nums: if a in subList: continue subList.append(a) self.cal(nums,subList) subList.remove(a) case = Solution() nums =[1,2,3] print(case.permute(nums)) 结果:

    转载请注明原文地址: https://ju.6miu.com/read-14832.html

    最新回复(0)