6-3 为啥newx,newy要乘以2,而setdata却不需要呢?

来源:6-3 深度优先遍历生成迷宫

慕虎7937911

2020-05-07

写回答

1回答

liuyubobobo

2020-05-08

newX newY 找的是隔着墙的那个位置,而 setData 就是把中间隔得那道墙打通。


墙的坐标是 x + d[i][0], y + d[i][1],跨过这道墙的那个通路的坐标是 x + d[i][0]*2,y + d[i][1]*2

用一个小的测试用例,实际跟踪一下,我们算出来的 newX 和 newY 与setData 中传的参数到底都是什么?对应到整个图的二维数组中,这些坐标对应的元素到底是什么?与本身 x,y 的关系是什么?d 数组在起什么作用?把这段程序真正搞明白。


也或者,可以根据你自己的思路,按照你的想法,修改代码,看结果是否正确?如果不正确,跟踪一下,看看为什么会不正确?在反推一下,自己的思路哪里有问题?


进步就发生在这个过程中哦。


加油!:)

0
0

7个经典应用诠释Java算法精髓

课程重应用、重实践、重思维,真正应用于实际工作开发中

1888 学习 · 112 问题

查看课程