mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-12 19:01:47 +08:00
67 lines
3.0 KiB
HTML
67 lines
3.0 KiB
HTML
<p>给你一个 <code>m x n</code> 的网格。一个机器人从网格的左上角 <code>(0, 0)</code> 出发,目标是到达网格的右下角 <code>(m - 1, n - 1)</code>。在任意时刻,机器人只能向右或向下移动。</p>
|
||
|
||
<p>网格中的每个单元格包含一个值 <code>coins[i][j]</code>:</p>
|
||
|
||
<ul>
|
||
<li>如果 <code>coins[i][j] >= 0</code>,机器人可以获得该单元格的金币。</li>
|
||
<li>如果 <code>coins[i][j] < 0</code>,机器人会遇到一个强盗,强盗会抢走该单元格数值的 <strong>绝对值</strong> 的金币。</li>
|
||
</ul>
|
||
|
||
<p>机器人有一项特殊能力,可以在行程中 <strong>最多感化 </strong>2个单元格的强盗,从而防止这些单元格的金币被抢走。</p>
|
||
|
||
<p><strong>注意:</strong>机器人的总金币数可以是负数。</p>
|
||
|
||
<p>返回机器人在路径上可以获得的 <strong>最大金币数 </strong>。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong class="example">示例 1:</strong></p>
|
||
|
||
<div class="example-block">
|
||
<p><strong>输入:</strong> <span class="example-io">coins = [[0,1,-1],[1,-2,3],[2,-3,4]]</span></p>
|
||
|
||
<p><strong>输出:</strong> <span class="example-io">8</span></p>
|
||
|
||
<p><strong>解释:</strong></p>
|
||
|
||
<p>一个获得最多金币的最优路径如下:</p>
|
||
|
||
<ol>
|
||
<li>从 <code>(0, 0)</code> 出发,初始金币为 <code>0</code>(总金币 = <code>0</code>)。</li>
|
||
<li>移动到 <code>(0, 1)</code>,获得 <code>1</code> 枚金币(总金币 = <code>0 + 1 = 1</code>)。</li>
|
||
<li>移动到 <code>(1, 1)</code>,遇到强盗抢走 <code>2</code> 枚金币。机器人在此处使用一次感化能力,避免被抢(总金币 = <code>1</code>)。</li>
|
||
<li>移动到 <code>(1, 2)</code>,获得 <code>3</code> 枚金币(总金币 = <code>1 + 3 = 4</code>)。</li>
|
||
<li>移动到 <code>(2, 2)</code>,获得 <code>4</code> 枚金币(总金币 = <code>4 + 4 = 8</code>)。</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<p><strong class="example">示例 2:</strong></p>
|
||
|
||
<div class="example-block">
|
||
<p><strong>输入:</strong> <span class="example-io">coins = [[10,10,10],[10,10,10]]</span></p>
|
||
|
||
<p><strong>输出:</strong> <span class="example-io">40</span></p>
|
||
|
||
<p><strong>解释:</strong></p>
|
||
|
||
<p>一个获得最多金币的最优路径如下:</p>
|
||
|
||
<ol>
|
||
<li>从 <code>(0, 0)</code> 出发,初始金币为 <code>10</code>(总金币 = <code>10</code>)。</li>
|
||
<li>移动到 <code>(0, 1)</code>,获得 <code>10</code> 枚金币(总金币 = <code>10 + 10 = 20</code>)。</li>
|
||
<li>移动到 <code>(0, 2)</code>,再获得 <code>10</code> 枚金币(总金币 = <code>20 + 10 = 30</code>)。</li>
|
||
<li>移动到 <code>(1, 2)</code>,获得 <code>10</code> 枚金币(总金币 = <code>30 + 10 = 40</code>)。</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>m == coins.length</code></li>
|
||
<li><code>n == coins[i].length</code></li>
|
||
<li><code>1 <= m, n <= 500</code></li>
|
||
<li><code>-1000 <= coins[i][j] <= 1000</code></li>
|
||
</ul>
|