3341. Find Minimum Time to Reach Last Room I
3341. Find Minimum Time to Reach Last Room I
Description
There is a dungeon with n x m rooms arranged as a grid.
You are given a 2D array moveTime of size n x m, where moveTime[i][j] represents the minimum time in seconds when you can start moving to that room. You start from the room (0, 0) at time t = 0 and can move to an adjacent room. Moving between adjacent rooms takes exactly one second.
Return the minimum time to reach the room (n - 1, m - 1).
Two rooms are adjacent if they share a common wall, either horizontally or vertically.
Example 1:
1 | Input: moveTime = [[0,4],[4,4]] |
Explanation:
The minimum time required is 6 seconds.
- At time
t == 4, move from room(0, 0)to room(1, 0)in one second. - At time
t == 5, move from room(1, 0)to room(1, 1)in one second.
Example 2:
1 | Input: moveTime = [[0,0,0],[0,0,0]] |
Explanation:
The minimum time required is 3 seconds.
- At time
t == 0, move from room(0, 0)to room(1, 0)in one second. - At time
t == 1, move from room(1, 0)to room(1, 1)in one second. - At time
t == 2, move from room(1, 1)to room(1, 2)in one second.
Example 3:
1 | Input: moveTime = [[0,1],[1,2]] |
Constraints:
2 <= n == moveTime.length <= 502 <= m == moveTime[i].length <= 500 <= moveTime[i][j] <= 10^9
Hints/Notes
- 2024/11/07
- Dijkstra
- 0x3Fâs solution(checked)
- Weekly Contest 422 T3
Solution
Language: C++
1 | class Solution { |