46. Permutations

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.


 def permute(nums):  

    permutations = []
    L = len(nums)
   
    def recurse(pos):            
        if pos == L:
            permutations.append(nums[:])
       
        for option in range(pos, L):                
            nums[pos], nums[option] = nums[option], nums[pos]
            recurse(pos+1)
            nums[pos], nums[option] = nums[option], nums[pos]
               
    recurse(0)
    return permutations

def permute_myalgo(nums):        
    def helper(prefix, l):
        if l == L:
            permutations.append(prefix)
        rem = []
        for e in nums:
            if e not in prefix:
                helper(prefix + [e], l+1)
   
    L = len(nums)
    permutations = []
    helper([],0)            
    return permutations

Comments

Popular posts from this blog

849. Maximize Distance to Closest Person

347. Top K Frequent Elements

139. Word Break