我尝试编写一个javascript函数,在一个15x15的棋盘上找出长度为N的所有可能路径,其中玩家不能对角线移动。我能够想出一个相当简单的递归解决方案,但我怀疑它极不优化。
以下是代码:
以下是代码:
search(n, u, v) {
if (n == 0 || isWall(u, v))
return;
board[v][u] = 2;
search(n - 1, u, v - 1);
search(n - 1, u + 1, v);
search(n - 1, u, v + 1);
search(n - 1, u - 1, v);
return;
}
board 是一个二维数组,包含了棋盘的数据。空白格、墙壁和可到达的空间分别由0、1和2表示。
编辑:正如下面所提到的,我正在尝试找到所有在N个或更少的移动步数内可以到达的单元格。