LeetCode:46. 全排列47. 全排列 II
Posted 南岸青栀*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:46. 全排列47. 全排列 II相关的知识,希望对你有一定的参考价值。
46. 全排列
法1:回溯法
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
res = []
#回溯法
def rescursion(fst = 0):
if fst == len(nums):
res.append(nums[:])
for i in range(fst,len(nums)):
nums[fst],nums[i] = nums[i],nums[fst]
rescursion(fst+1)
nums[fst],nums[i] = nums[i],nums[fst]
rescursion()
return res
47. 全排列 II
法1:回溯法
class Solution:
def permuteUnique(self, nums: List[int]) -> List[List[int]]:
res = []
#回溯法
def rescursion(fst = 0):
if fst == len(nums) and nums not in res:
res.append(nums[:])
for i in range(fst,len(nums)):
nums[fst],nums[i] = nums[i],nums[fst]
rescursion(fst+1)
nums[fst],nums[i] = nums[i],nums[fst]
rescursion()
return res
以上是关于LeetCode:46. 全排列47. 全排列 II的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 46. Permutations 全排列(中等)
LeetCode 47. 全排列 II(Permutations II)
leetcode-46. 全排列--回溯算法--python