46. Permutations

和之前无数次的做法一样,用一个数组记录记录是否被访问过

class Solution(object):
    def permute(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        visit = [0 for i in range(len(nums))]
        res = []
        self.dfs(nums, visit, [], res)
        return res
    def dfs(self, nums, visit, temp, res):
        if len(temp) == len(nums):
            res.append(temp)
            return
        for i in range(len(nums)):
            if visit[i] == 0:
                visit[i] = 1
                self.dfs(nums, visit, temp+[nums[i]], res)
                visit[i] = 0
            
    

不带标志向量:

class Solution(object):
    def permute(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        res = []
        self.surpport(nums, res, [])
        return res
    def surpport(self, nums, res, temp):
        if len(temp) == len(nums):
            res.append(temp[:])
            return
        for i in range(len(nums)):
            if nums[i] in temp:
                continue
            temp.append(nums[i])
            self.surpport(nums, res, temp)
            temp.pop()
    
        
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Given a collection of distinct numbers, return all possib...
    Jeanz阅读 3,499评论 0 0
  • Given a collection of distinct numbers, return all possib...
    飞飞廉阅读 923评论 0 0
  • Given a collection of distinct numbers, return all possib...
    matrxyz阅读 631评论 0 0
  • 题目 Given a collection of distinct numbers, return all pos...
    Al73r阅读 916评论 0 0
  • 四月的一场清雨,落在了春天的尾巴上,近谷雨时节,吧嗒吧嗒响的如修佛者敲木鱼一般,入耳有声,旁骛被清净皆无,这样的好...
    柠檬草加薄荷阅读 1,072评论 0 0