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:
0representing an empty cell,1representing a fresh orange, or2representing 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 {  |