Advertisement
jinhuang1102

46. Permutations

Nov 11th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.73 KB | None | 0 0
  1. #46. Permutations
  2. def backtrackPerM(nums, visited, temp, res):
  3.     # teminal condition
  4.     if len(temp) == len(nums):
  5.         res.append(temp)
  6.         return
  7.     # backtracking
  8.     for i in range(0, len(nums)):
  9.         if visited[i] == 0:
  10.             visited[i] = 1      #每次到下层遍历时候要把当前所访问的数值 visited[i] = 1
  11.             backtrackPerM(nums, visited, temp+[nums[i]], res)
  12.             visited[i] = 0      #返回到当前曾以后再将 visited[i] = 0
  13.     return
  14.  
  15. def permute(nums):
  16.     res = []
  17.     visited = [0] * len(nums) # 这道题要从头便利所有在数组中的数值。所以,要维护一个visited数组来记录当前值
  18.     backtrackPerM(nums, visited, [], res)
  19.     return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement