数组全排列
全排列
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案
nums = [1,2,3,4,]
def recurtion(results,temp,nums):
if len(nums)==2:
results.append(temp+[nums[0]]+[nums[1]])
results.append(temp+[nums[1]]+[nums[0]])
if len(nums)>2:
for it in range(len(nums)):
recurtion(results,temp+[nums[it]],nums[0:it]+nums[it+1:])
def test(nums): #返回输入数组的全排列
results = list()
if len(nums)>2:
for it in range(len(nums)):
temp=[]
temp.append(nums[it])
recurtion(results,temp,nums[0:it]+nums[(it)+1:])
elif len(nums) == 2:
results.append([nums[0]]+[nums[1]])
results.append([nums[1]] + [nums[0]])
else:
results.append(nums[0]) if nums else []
return results

浙公网安备 33010602011771号