|
| 1 | +<h2><a href="https://leetcode.com/problems/minimum-time-to-visit-a-cell-in-a-grid/">2577. Minimum Time to Visit a Cell In a Grid</a></h2><h3>Hard</h3><hr><div><p>You are given a <code>m x n</code> matrix <code>grid</code> consisting of <b>non-negative</b> integers where <code>grid[row][col]</code> represents the <strong>minimum</strong> time required to be able to visit the cell <code>(row, col)</code>, which means you can visit the cell <code>(row, col)</code> only when the time you visit it is greater than or equal to <code>grid[row][col]</code>.</p> |
| 2 | + |
| 3 | +<p>You are standing in the <strong>top-left</strong> cell of the matrix in the <code>0<sup>th</sup></code> second, and you must move to <strong>any</strong> adjacent cell in the four directions: up, down, left, and right. Each move you make takes 1 second.</p> |
| 4 | + |
| 5 | +<p>Return <em>the <strong>minimum</strong> time required in which you can visit the bottom-right cell of the matrix</em>. If you cannot visit the bottom-right cell, then return <code>-1</code>.</p> |
| 6 | + |
| 7 | +<p> </p> |
| 8 | +<p><strong class="example">Example 1:</strong></p> |
| 9 | + |
| 10 | +<p><img alt="" src="https://assets.leetcode.com/uploads/2023/02/14/yetgriddrawio-8.png"></p> |
| 11 | + |
| 12 | +<pre><strong>Input:</strong> grid = [[0,1,3,2],[5,1,2,5],[4,3,8,6]] |
| 13 | +<strong>Output:</strong> 7 |
| 14 | +<strong>Explanation:</strong> One of the paths that we can take is the following: |
| 15 | +- at t = 0, we are on the cell (0,0). |
| 16 | +- at t = 1, we move to the cell (0,1). It is possible because grid[0][1] <= 1. |
| 17 | +- at t = 2, we move to the cell (1,1). It is possible because grid[1][1] <= 2. |
| 18 | +- at t = 3, we move to the cell (1,2). It is possible because grid[1][2] <= 3. |
| 19 | +- at t = 4, we move to the cell (1,1). It is possible because grid[1][1] <= 4. |
| 20 | +- at t = 5, we move to the cell (1,2). It is possible because grid[1][2] <= 5. |
| 21 | +- at t = 6, we move to the cell (1,3). It is possible because grid[1][3] <= 6. |
| 22 | +- at t = 7, we move to the cell (2,3). It is possible because grid[2][3] <= 7. |
| 23 | +The final time is 7. It can be shown that it is the minimum time possible. |
| 24 | +</pre> |
| 25 | + |
| 26 | +<p><strong class="example">Example 2:</strong></p> |
| 27 | + |
| 28 | +<p><img alt="" src="https://assets.leetcode.com/uploads/2023/02/14/yetgriddrawio-9.png" style="width: 151px; height: 151px;"></p> |
| 29 | + |
| 30 | +<pre><strong>Input:</strong> grid = [[0,2,4],[3,2,1],[1,0,4]] |
| 31 | +<strong>Output:</strong> -1 |
| 32 | +<strong>Explanation:</strong> There is no path from the top left to the bottom-right cell. |
| 33 | +</pre> |
| 34 | + |
| 35 | +<p> </p> |
| 36 | +<p><strong>Constraints:</strong></p> |
| 37 | + |
| 38 | +<ul> |
| 39 | + <li><code>m == grid.length</code></li> |
| 40 | + <li><code>n == grid[i].length</code></li> |
| 41 | + <li><code>2 <= m, n <= 1000</code></li> |
| 42 | + <li><code>4 <= m * n <= 10<sup>5</sup></code></li> |
| 43 | + <li><code>0 <= grid[i][j] <= 10<sup>5</sup></code></li> |
| 44 | + <li><code>grid[0][0] == 0</code></li> |
| 45 | +</ul> |
| 46 | + |
| 47 | +<p> </p> |
| 48 | +<style type="text/css">.spoilerbutton {display:block; border:dashed; padding: 0px 0px; margin:10px 0px; font-size:150%; font-weight: bold; color:#000000; background-color:cyan; outline:0; |
| 49 | +} |
| 50 | +.spoiler {overflow:hidden;} |
| 51 | +.spoiler > div {-webkit-transition: all 0s ease;-moz-transition: margin 0s ease;-o-transition: all 0s ease;transition: margin 0s ease;} |
| 52 | +.spoilerbutton[value="Show Message"] + .spoiler > div {margin-top:-500%;} |
| 53 | +.spoilerbutton[value="Hide Message"] + .spoiler {padding:5px;} |
| 54 | +</style> |
| 55 | +</div> |
0 commit comments