|
发表于 2023-5-26 09:32:37
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这里的return是什么意思啊,什么时候才会执行visited[k] = False
def permutation(nums,i,res,visited):
if i == len(nums):
print("".join(res))
return
for k in range(len(nums)):
if visited[k] == False:
res[i] = nums[k]
visited[k] = True
permutation(nums, i + 1, res, visited)
visited[k] = False
lst = input().split()
visited = [False for x in range(len(lst))]
res = [0 for i in range(len(lst))]
permutation(lst, 0, res, visited)
在这个函数中,return的作用是结束函数的执行并返回结果。在这个特定的情况下,当i等于nums的长度时,就会执行print语句并结束函数的执行。而visited[k] = False是在回溯时执行的,它的作用是撤销之前的操作,以便下一次迭代可以重新使用该元素。具体来说,当我们在迭代一个元素时,我们将visited[k]设置为True,以便下一次迭代时我们可以跳过该元素。当我们完成对该元素的迭代时,我们将visited[k]设置为False,以便我们在后续的迭代中可以重新使用该元素。
|
|