<p>在给定的 <code>m x n</code> 网格<meta charset="UTF-8" /> <code>grid</code> 中,每个单元格可以有以下三个值之一:</p> <ul> <li>值 <code>0</code> 代表空单元格;</li> <li>值 <code>1</code> 代表新鲜橘子;</li> <li>值 <code>2</code> 代表腐烂的橘子。</li> </ul> <p>每分钟,腐烂的橘子 <strong>周围 4 个方向上相邻</strong> 的新鲜橘子都会腐烂。</p> <p>返回 <em>直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 <code>-1</code></em> 。</p> <p> </p> <p><strong>示例 1:</strong></p> <p><strong><img alt="" src="https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2019/02/16/oranges.png" style="height: 137px; width: 650px;" /></strong></p> <pre> <strong>输入:</strong>grid = [[2,1,1],[1,1,0],[0,1,1]] <strong>输出:</strong>4 </pre> <p><strong>示例 2:</strong></p> <pre> <strong>输入:</strong>grid = [[2,1,1],[0,1,1],[1,0,1]] <strong>输出:</strong>-1 <strong>解释:</strong>左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个正向上。 </pre> <p><strong>示例 3:</strong></p> <pre> <strong>输入:</strong>grid = [[0,2]] <strong>输出:</strong>0 <strong>解释:</strong>因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0 。 </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>1 <= m, n <= 10</code></li> <li><code>grid[i][j]</code> 仅为 <code>0</code>、<code>1</code> 或 <code>2</code></li> </ul>