python - 如何使递归函数返回所有可能的解决方案?
问题描述
对于这个递归函数,当你输入一个列表如[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] 我不知道如何让我的功能继续搜索所有其他的。
解决方案
传入一个空列表以开始您继续传递。为它添加找到的解决方案。
推荐阅读
- c# - DateTimePicker 中的第一个数字被特定字体截断
- git - 恢复丢失的数据git?
- kotlin - 我可以在课堂外使用扩展 *member* 吗?
- vapor - Vapor 3:将 Future 对象数组转换为 Future 其他对象数组
- python - Python 请求 JSON 间歇性类型错误
- android - 如何为离线支持构建 SQLite 数据库?
- python - Python Flask DateField 禁用周末
- linux-kernel - 错误:来自不兼容指针类型的赋值 [-Werror=incompatible-pointer-types]
- java - 如何在同一个班级发送电子邮件和短信?
- accessibility - JAWS 脚本会覆盖屏幕阅读器读取 DOM 的能力吗?