本文主要是介绍Python | Leetcode Python题解之第47题全排列II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:def dfs(x):if x == len(nums) - 1:res.append(list(nums)) # 添加排列方案returndic = set()for i in range(x, len(nums)):if nums[i] in dic: continue # 重复,因此剪枝dic.add(nums[i])nums[i], nums[x] = nums[x], nums[i] # 交换,将 nums[i] 固定在第 x 位dfs(x + 1) # 开启固定第 x + 1 位元素nums[i], nums[x] = nums[x], nums[i] # 恢复交换res = []dfs(0)return res
这篇关于Python | Leetcode Python题解之第47题全排列II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!