This question on LeetCode has been bothering me for a couple of days and afterwards I understood that the typical solution is to use BFS for the cases specified in the description of the question. Therefore, I take a note to let me memorize the solution to this problem next time.
Question
You are given an m x n
grid where each cell can have one of three values:
0
representing an empty cell,1
representing a fresh orange, or2
representing a rotten orange.
Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten.
Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1
.
Example 1:
1 | Input: grid = [[2,1,1],[1,1,0],[0,1,1]] |
Example 2:
1 | Input: grid = |
Example 3:
1 | Input: grid = [[0,2]] |
Solution (Good)
1 | // Time Complexity: O(M*N) |
Solution (Normal)
1 | class Solution { |