我试图解决一个问题..但是我不知道为什么我的算法为数组的单元分配新数组而不是整数。
该函数的输入是字符串
这是我的尝试:
function pathFinder(maze){
maze = maze.split('\n').map(value => [...value]);
function pF(i, j, steps){
if (i === maze.length || j === maze.length || i === -1 ||
j === -1 || maze[i][j] === 'W') return;
else if (maze[i][j] === '.' || steps < maze[i][j]){
maze[i][j] = steps;
pF(i, j+1, steps + 1); pF(i-1, j, steps + 1);
pF(i+1, j, steps + 1); pF(i, j-1, steps + 1);
}
else return;
}
pF(0, 0, 0);
if (maze[maze.length - 1, maze.length - 1] === '.') return false;
return maze[maze.length - 1, maze.length - 1];
}
由于某种原因,我不明白,每个maze[i][j] = steps
语句为单元格分配了数组。