mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
49 lines
3.2 KiB
HTML
49 lines
3.2 KiB
HTML
<p>给你一个 <code>m x n</code> 的网格图,其中 <code>(0, 0)</code> 是最左上角的格子,<code>(m - 1, n - 1)</code> 是最右下角的格子。给你一个整数数组 <code>startPos</code> ,<code>startPos = [start<sub>row</sub>, start<sub>col</sub>]</code> 表示 <strong>初始</strong> 有一个 <strong>机器人</strong> 在格子 <code>(start<sub>row</sub>, start<sub>col</sub>)</code> 处。同时给你一个整数数组 <code>homePos</code> ,<code>homePos = [home<sub>row</sub>, home<sub>col</sub>]</code> 表示机器人的 <strong>家</strong> 在格子 <code>(home<sub>row</sub>, home<sub>col</sub>)</code> 处。</p>
|
||
|
||
<p>机器人需要回家。每一步它可以往四个方向移动:<strong>上</strong>,<strong>下</strong>,<strong>左</strong>,<strong>右</strong>,同时机器人不能移出边界。每一步移动都有一定代价。再给你两个下标从 <strong>0</strong> 开始的额整数数组:长度为 <code>m</code> 的数组 <code>rowCosts</code> 和长度为 <code>n</code> 的数组 <code>colCosts</code> 。</p>
|
||
|
||
<ul>
|
||
<li>如果机器人往 <strong>上</strong> 或者往 <strong>下</strong> 移动到第 <code>r</code> <strong>行</strong> 的格子,那么代价为 <code>rowCosts[r]</code> 。</li>
|
||
<li>如果机器人往 <strong>左</strong> 或者往 <strong>右</strong> 移动到第 <code>c</code> <strong>列</strong> 的格子,那么代价为 <code>colCosts[c]</code> 。</li>
|
||
</ul>
|
||
|
||
<p>请你返回机器人回家需要的 <strong>最小总代价</strong> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="" src="https://assets.leetcode.com/uploads/2021/10/11/eg-1.png" style="width: 282px; height: 217px;"></p>
|
||
|
||
<pre><strong>输入:</strong>startPos = [1, 0], homePos = [2, 3], rowCosts = [5, 4, 3], colCosts = [8, 2, 6, 7]
|
||
<b>输出:</b>18
|
||
<b>解释:</b>一个最优路径为:
|
||
从 (1, 0) 开始
|
||
-> 往下走到 (<em><strong>2</strong></em>, 0) 。代价为 rowCosts[2] = 3 。
|
||
-> 往右走到 (2, <em><strong>1</strong></em>) 。代价为 colCosts[1] = 2 。
|
||
-> 往右走到 (2, <em><strong>2</strong></em>) 。代价为 colCosts[2] = 6 。
|
||
-> 往右走到 (2, <em><strong>3</strong></em>) 。代价为 colCosts[3] = 7 。
|
||
总代价为 3 + 2 + 6 + 7 = 18</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>startPos = [0, 0], homePos = [0, 0], rowCosts = [5], colCosts = [26]
|
||
<b>输出:</b>0
|
||
<b>解释:</b>机器人已经在家了,所以不需要移动。总代价为 0 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>m == rowCosts.length</code></li>
|
||
<li><code>n == colCosts.length</code></li>
|
||
<li><code>1 <= m, n <= 10<sup>5</sup></code></li>
|
||
<li><code>0 <= rowCosts[r], colCosts[c] <= 10<sup>4</sup></code></li>
|
||
<li><code>startPos.length == 2</code></li>
|
||
<li><code>homePos.length == 2</code></li>
|
||
<li><code>0 <= start<sub>row</sub>, home<sub>row</sub> < m</code></li>
|
||
<li><code>0 <= start<sub>col</sub>, home<sub>col</sub> < n</code></li>
|
||
</ul>
|