蛇梯棋
最后更新于
这有帮助吗?
这有帮助吗?
题目链接: https://leetcode.cn/problems/snakes-and-ladders
从1开始遍历到n*n,每个数字代表棋盘的一个位置,通过数字可以计算出这个位置的行号以及列号
通过行号可以判断是从左到右遍历还是从右到左遍历
从该数字开始往后推算接下来的6个数字对应的棋盘位置,以及上面是否有蛇或梯子,判断出若下一步走这个位置最终能到棋盘的哪个位置
并将每个位置的下一个位置及到该位置使用的步数存入队列,再按照步骤3遍历队列里的元素
直至到终点
type edge struct {
id int
stepNum int
}
func snakesAndLadders(board [][]int) int {
n := len(board)
visited := make
时间复杂度: 时间复杂度为,为board
的边长
空间复杂度: 空间复杂度为,为board
的边长