如何使递归函数返回所有可能的解决方案?

时间:2021-02-09 22:49:41

标签: python recursion

对于这个递归函数,当你输入[2,8,3,2,7,2,2,3,2,1,3,0]这样的列表时,它会找到从第一个索引到包含值 0 的索引,但只能通过 index[i]+i 或 index[i]-i 在列表中移动,并且不能越过列表的边界或进入已经访问过的索引。所以如果你在 index[0] 等于 2,你只能在列表中向前移动 2。或者如果你在 index[3],你只能在列表中向前或向后移动 2 这样你就可以走了到 index[1] 或 index[5]。

对于列表 [2,8,3,2,7,2,2,3,2,1,3,0] 我得到的解决方案是 [0,2,5,7,4,11] ,但还有更多的解决方案,例如 [0,2,5,3,1,9,10,7,4,11],我不知道如何让我的函数继续搜索所有其他的。

1 个答案:

答案 0 :(得分:1)

传入一个空列表以开始继续传递。添加找到的解决方案。