Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #46. Permutations
- def backtrackPerM(nums, visited, temp, res):
- # teminal condition
- if len(temp) == len(nums):
- res.append(temp)
- return
- # backtracking
- for i in range(0, len(nums)):
- if visited[i] == 0:
- visited[i] = 1 #每次到下层遍历时候要把当前所访问的数值 visited[i] = 1
- backtrackPerM(nums, visited, temp+[nums[i]], res)
- visited[i] = 0 #返回到当前曾以后再将 visited[i] = 0
- return
- def permute(nums):
- res = []
- visited = [0] * len(nums) # 这道题要从头便利所有在数组中的数值。所以,要维护一个visited数组来记录当前值
- backtrackPerM(nums, visited, [], res)
- return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement