1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-10-21 13:06:47 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2025-09-29 14:43:44 +08:00
parent 2862a227c4
commit 13f2098086
4409 changed files with 168933 additions and 166256 deletions

View File

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