1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/信物传送 [6UEx57].md
2022-04-24 17:05:32 +08:00

43 lines
1.5 KiB
Markdown

欢迎各位勇者来到力扣城,本次试炼主题为「信物传送」。
本次试炼场地设有若干传送带,`matrix[i][j]` 表示第 `i``j` 列的传送带运作方向,`"^","v","<",">"` 这四种符号分别表示 **上、下、左、右** 四个方向。信物会随传送带的方向移动。勇者**每一次**施法操作,可**临时**变更一处传送带的方向,在物品经过后传送带恢复原方向。
![lcp (2).gif](https://pic.leetcode-cn.com/1649835246-vfupSL-lcp%20\(2\).gif){:width=300px}
通关信物初始位于坐标 `start`处,勇者需要将其移动到坐标 `end` 处,请返回勇者施法操作的最少次数。
**注意:**
- `start``end` 的格式均为 `[i,j]`
**示例 1:**
> 输入:`matrix = [">>v","v^<","<><"], start = [0,1], end = [2,0]`
>
> 输出:`1`
>
> 解释:
> 如上图所示
> 当信物移动到 `[1,1]` 时,勇者施法一次将 `[1,1]` 的传送方向 `^` 从变更为 `<`
> 从而信物移动到 `[1,0]`,后续到达 `end` 位置
> 因此勇者最少需要施法操作 1 次
**示例 2:**
> 输入:`matrix = [">>v",">>v","^<<"], start = [0,0], end = [1,1]`
>
> 输出:`0`
>
> 解释:勇者无需施法,信物将自动传送至 `end` 位置
**示例 3:**
> 输入:`matrix = [">^^>","<^v>","^v^<"], start = [0,0], end = [1,3]`
>
> 输出:`3`
**提示:**
- `matrix` 中仅包含 `'^'、'v'、'<'、'>'`
- `0 < matrix.length <= 100`
- `0 < matrix[i].length <= 100`
- `0 <= start[0],end[0] < matrix.length`
- `0 <= start[1],end[1] < matrix[i].length`