go实现迷宫算法
maze_test.go
package algorithm
import (
"fmt"
"os"
"testing"
)
type point struct {
i, j int
}
var dirs = [4]point{
{-1, 0},
{0, -1},
{1, 0},
{0, 1},
}
func (p point) add(r point) point {
return point{
p.i + r.i,
p.j + r.j,
}
}
// 判断边际
func (p point) at(grid [][]int) (int, bool) {
if p.i < 0 || p.i >= len(grid) {
return 0, false
}
if p.j < 0 || p.j >= len(grid[p.i]) {
return 0, false
}
return grid[p.i][p.j], true
}
// 行走
// 维护一份自己的地图
go实现迷宫算法最先出现在Python成神之路。
共有 0 条评论