今天,我正在研究某人使用Python3的堆算法进行回溯的解决方案。解决方案如下:
def permute(self, nums):
def backtrack(start, end):
if start == end:
ans.append(nums[:])
for i in range(start, end):
nums[start], nums[i] = nums[i], nums[start]
backtrack(start+1, end)
nums[start], nums[i] = nums[i], nums[start]
ans = []
backtrack(0, len(nums))
return ans
现在我看到ans.append(nums[:])
这一行,写nums[:]
的意义是什么?不会正确地编写nums
函数吗?
https://stackoverflow.com/questions/57032196
复制相似问题