135. Leetcode 46. 全排列 (回溯算法-排列问题)
生活随笔
收集整理的這篇文章主要介紹了
135. Leetcode 46. 全排列 (回溯算法-排列问题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Solution:def permute(self, nums: List[int]) -> List[List[int]]:# 方法一# res = [] # 存放符合條件結果的集合# path = [] # 用來存放符合條件的結果# used = [] # 用來存放已經用過的數字# def backtrack(nums, used):# if len(path) == len(nums):# return res.append(path[:])# for i in range(0, len(nums)):# if nums[i] in used:# continue# path.append(nums[i])# used.append(nums[i])# backtrack(nums,used)# used.pop()# path.pop()# backtrack(nums, used)# return res# 方法二res = []path = []def backtrack(nums):if len(nums) == len(path):return res.append(path[:]) # 找到一組元素for i in range(0,len(nums)):if nums[i] in path: # path里面已經有收錄的元素continuepath.append(nums[i])backtrack(nums) # 遞歸path.pop() # 回溯backtrack(nums)return res
?
總結
以上是生活随笔為你收集整理的135. Leetcode 46. 全排列 (回溯算法-排列问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 134. Leetcode 136. 只
- 下一篇: 136. Leetcode 47. 全排