mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
63 lines
3.1 KiB
HTML
63 lines
3.1 KiB
HTML
<p>给你一个下标从 <strong>0</strong> 开始大小为 <code>m x n</code> 的二维整数数组 <code>grid</code> ,它表示一个网格图。每个格子为下面 3 个值之一:</p>
|
||
|
||
<ul>
|
||
<li><code>0</code> 表示草地。</li>
|
||
<li><code>1</code> 表示着火的格子。</li>
|
||
<li><code>2</code> 表示一座墙,你跟火都不能通过这个格子。</li>
|
||
</ul>
|
||
|
||
<p>一开始你在最左上角的格子 <code>(0, 0)</code> ,你想要到达最右下角的安全屋格子 <code>(m - 1, n - 1)</code> 。每一分钟,你可以移动到 <strong>相邻</strong> 的草地格子。每次你移动 <strong>之后</strong> ,着火的格子会扩散到所有不是墙的 <strong>相邻</strong> 格子。</p>
|
||
|
||
<p>请你返回你在初始位置可以停留的 <strong>最多 </strong>分钟数,且停留完这段时间后你还能安全到达安全屋。如果无法实现,请你返回 <code>-1</code> 。如果不管你在初始位置停留多久,你 <strong>总是</strong> 能到达安全屋,请你返回 <code>10<sup>9</sup></code> 。</p>
|
||
|
||
<p>注意,如果你到达安全屋后,火马上到了安全屋,这视为你能够安全到达安全屋。</p>
|
||
|
||
<p>如果两个格子有共同边,那么它们为 <strong>相邻</strong> 格子。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/03/10/ex1new.jpg" style="width: 650px; height: 404px;"></p>
|
||
|
||
<pre><b>输入:</b>grid = [[0,2,0,0,0,0,0],[0,0,0,2,2,1,0],[0,2,0,0,1,2,0],[0,0,2,2,2,0,2],[0,0,0,0,0,0,0]]
|
||
<b>输出:</b>3
|
||
<b>解释:</b>上图展示了你在初始位置停留 3 分钟后的情形。
|
||
你仍然可以安全到达安全屋。
|
||
停留超过 3 分钟会让你无法安全到达安全屋。</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/03/10/ex2new2.jpg" style="width: 515px; height: 150px;"></p>
|
||
|
||
<pre><b>输入:</b>grid = [[0,0,0,0],[0,1,2,0],[0,2,0,0]]
|
||
<b>输出:</b>-1
|
||
<b>解释:</b>上图展示了你马上开始朝安全屋移动的情形。
|
||
火会蔓延到你可以移动的所有格子,所以无法安全到达安全屋。
|
||
所以返回 -1 。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/03/10/ex3new.jpg" style="width: 174px; height: 150px;"></p>
|
||
|
||
<pre><b>输入:</b>grid = [[0,0,0],[2,2,0],[1,2,0]]
|
||
<b>输出:</b>1000000000
|
||
<b>解释:</b>上图展示了初始网格图。
|
||
注意,由于火被墙围了起来,所以无论如何你都能安全到达安全屋。
|
||
所以返回 10<sup>9</sup> 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>m == grid.length</code></li>
|
||
<li><code>n == grid[i].length</code></li>
|
||
<li><code>2 <= m, n <= 300</code></li>
|
||
<li><code>4 <= m * n <= 2 * 10<sup>4</sup></code></li>
|
||
<li><code>grid[i][j]</code> 是 <code>0</code> ,<code>1</code> 或者 <code>2</code> 。</li>
|
||
<li><code>grid[0][0] == grid[m - 1][n - 1] == 0</code></li>
|
||
</ul>
|