Rotting Oranges
BFS
Last updated
Was this helpful?
BFS
Last updated
Was this helpful?
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, or
2
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
.
This question is similar to Walls and Gates
We will store all the rotten oranges ('2') in a queue while alos keeping track of how many fresh oranges we have.
We are applying BFS to search for the rotten oranges neighbors so we can rot them too. We are processing rotten oranges by level.
Time: O(m*n)
Space: O(m*n)