关于{len(maze)-1, len(maze[0])-1}
来源:12-2 迷宫代码实现

慕移动9586716
2021-10-14
老师你好,我有点纠结:
steps := walk(maze, point{0,0}, point{len(maze)-1, len(maze[0])-1})
我们需要从左上角开始到右下角结束
里面的go{len(maze)-1, len(maze[0])-1}
在老师的例子中len(maze) 不应该等于6,len(mase)等于5嘛
他们都减一,是为什么?
我在我的代码中改成这样:
steps := walk(maze, point{0,0}, point{len(maze), len(maze[0])})
结果也一样
这是我的:
func main() {
maze := ReadMaze("maze/maze.in")
steps := walk(maze, point{0,0}, point{len(maze), len(maze[0])})
for i := range steps{
for j := range steps[i]{
fmt.Printf("%3d " ,steps[i][j])
}
fmt.Println()
}
fmt.Println(len(maze))
fmt.Println(len(maze[0]))
}
结果:
0 0 4 5 6
1 2 3 0 7
2 0 4 0 8
0 0 0 10 9
0 0 12 11 0
0 0 13 12 13
6
5
写回答
1回答
-
NotNullU
2021-10-14
这是一个二维的切片,第一个数是[0][0],能运行个人觉得是walk()函数里,end参数只参与到了break判断里面,然后后面for循环结束直接跳出了。
00
相似问题