-46 leetcode-半ばバックトラック。順列

mycode [NUMS [i]が]に、実際には、渡すだけ一時+をtemp.appendする必要はありません

DEFはpermute(NUMS):
    DEF DFS(RES、NUMS、TEMP):
            プリント(NUMS、TEMP)
            もし温度:
                 もし LEN(TEMP)== numslen:
                     res.append(TEMP)
            のための I における範囲(numslen):
                プリント(' .. ' 、I、TEMP)
                TEMP = temp.append(NUMS [i])と
                印刷(TEMP)
                DFS(RES、NUMS [:I] + NUMS [I + 1 :]、TEMP)
     ならないNUMS:
         戻り[] 
    RES = [] 
    numslen =LEN(NUMS)
    DFSは(RESが、NUMSは、[])
    を返すRES 
        
はpermute([ 123 ])

 

 

参照

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

 

おすすめ

転載: www.cnblogs.com/rosyYY/p/10972112.html