题目描述:
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
示例:
输入: [1,2,3]
输出:
[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
代码:
class Solution:
def permute(self, nums):
ans = []
if len(nums) == 0:
return
if len(nums) == 1:
return [nums]
for index,item in enumerate(nums):
res = nums[:index]+nums[index+1:]
print('res',res,'item',item)
for j in self.permute(res):
ans.append(j+[item])
print('ans',ans,'j',j)
return ans
测试:
输入
[6,3,5]
输出
[[5,3,6],[3,5,6],[5,6,3],[6,5,3],[3,6,5],[6,3,5]]
预期结果
[[6,3,5],[6,5,3],[3,6,5],[3,5,6],[5,6,3],[5,3,6]]
本文介绍了一个递归算法,用于求解给定序列的所有可能全排列。通过移除序列中每个元素并递归求解剩余序列的全排列,最终组合成完整的全排列列表。示例输入为[6,3,5],输出了所有可能的排列结果。

被折叠的 条评论
为什么被折叠?



