PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
[问题]使用递回解迷宫却遇到stack overflow
楼主:
ar0n77777
(property)
2018-04-28 10:39:58
各位大大好
某份作业需要解迷宫
我参考了网络上的递回算法
但是却总是遇到stack overflow
想给各位抓药一下
其中 0 是可以走的路径
如果确定是正确路径我就标记 1
起点为矩阵ret[1][0]
终点为ret[99][100]
terminal执行结果
会stackoverflow我想是因为无法走到终止条件(?)
但是实在不知问题出在哪边QAQ
第一次写递回程式麻烦各位学长姐鞭小力一点呜呜
谢谢!
作者:
djshen
(djshen)
2018-04-28 12:04:00
你先把走的路径印出来看跟你想的一不一样然后先从小一点的试试看
作者:
a0919610611
(炽)
2018-04-28 16:01:00
你i,j都没终止条件阿walk(ret,i,j+1) j会加到无限大
作者: s9041200 (小明阿)
2018-04-29 13:52:00
没设边界条件。如果设了还是爆掉,就用dp或单源最短路径试试。
作者:
froce
(froce)
2018-04-29 19:27:00
最后一招就是改sys.setrecursionlimit()
作者:
Yshuan
(倚絃)
2018-04-30 16:14:00
你把size先改成30以内看是否有结果DFS可以用循环写的 和BFS差别在容器是stack而非queue文章中的写法 一个点会被重复拜访阿 2x2也会overflow漏看line 7, 那么就是改小size先确定这会动 再优化吧
作者:
handsomeLin
(DoGLin)
2018-05-04 17:43:00
因为你递回写的方式会把整个MATRIX走满 也就是100*100 在建立boundary情形下 先往j + 1走到底 j == 100时又往下 i + 1下走 总而言之八成会绕完整个matrix然后你not只用在一个条件下 估计走一走都是True应该八成原本标记的1都会又会变成0
继续阅读
[问题] Open Data 气象资料 Api
webber1984
[问题] Crawler问题(Error 403, 500)
kiwistar
[问题] 爬虫只抓得到标签名,但内容抓不到
bckkt
[问题] Pycharm环境问题
kiwistar
Re: [问题] 用cmd开启chrome浏览器
uranusjr
[问题] 请问spyder有没有diff的功能?
yimean
[问题] pyinstaller安装
GlassesKJ
[问题] 用cmd开启chrome浏览器
znmkhxrw
[问题] 新手问问题 用librosa汇入音讯档错误
ddmanddman
[售书] 已售出 Python for everybody
ethan5566
Links
booklink
Contact Us: admin [ a t ] ucptt.com