数据结构与算法之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例
Posted Serendipity·y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例相关的知识,希望对你有一定的参考价值。
一、题目要求
- 你还记得那条风靡全球的贪吃蛇吗?我们在一个 n*n 的网格上构建了新的迷宫地图,蛇的长度为 2,也就是说它会占去两个单元格。蛇会从左上角((0, 0) 和 (0, 1))开始移动,用 0 表示空单元格,用 1 表示障碍物,蛇需要移动到迷宫的右下角((n-1, n-2) 和 (n-1, n-1))。
- 每次移动,蛇可以这样走:
-
- 如果没有障碍,则向右移动一个单元格,并仍然保持身体的水平/竖直状态;
-
- 如果没有障碍,则向下移动一个单元格,并仍然保持身体的水平/竖直状态;
-
- 如果它处于水平状态并且其下面的两个单元都是空的,就顺时针旋转 90 度,蛇从((r, c)、(r, c+1))移动到 ((r, c)、(r+1, c)):
-
- 如果它处于竖直状态并且其右面的两个单元都是空的,就逆时针旋转 90 度,蛇从((r, c)、(
以上是关于数据结构与算法之深入解析“穿过迷宫的最少移动次数”的求解思路与算法示例的主要内容,如果未能解决你的问题,请参考以下文章
数据结构与算法之深入解析“股票的最大利润”的求解思路与算法示例