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

问题描述

对于这个递归函数,当你输入一个列表如[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] 我不知道如何让我的功能继续搜索所有其他的。

标签: pythonrecursion

解决方案


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


推荐阅读