Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Rotting Oranges
Bookmark
Brute Force
Multi-source BFS
Input
Example 1
Example 2 (impossible)
Single row
Multi-source BFS
Custom
grid
=
[[2,1,1],[1,1,0],[0,1,1]]
minute
0
fresh
6
2
0
1
1
1
1
1
1
queue
multi-source BFS: rot spreads to neighbors each minute
minute
0
fresh
6
2
0
1
1
1
1
1
1
queue
multi-source BFS: rot spreads to neighbors each minute
minute
1
fresh
4
2
0
2
1
1
2
1
1
1
1
queue
minute 2
find every fresh neighbour of a rotten orange
minute
1
fresh
4
2
0
1
2
1
1
1
1
2
1
queue
(-1,1)
is off the grid - skip
minute
2
fresh
2
2
1
2
2
2
1
2
2
1
1
2
0
queue
(0,1)
is empty or already rotten - skip
minute
2
fresh
2
2
0
2
1
2
1
2
2
1
1
2
2
queue
(0,3)
is off the grid - skip
minute
2
fresh
2
2
0
2
1
2
2
2
1
1
1
2
2
queue
(1,1)
spreads rot to its 4 neighbors
minute
3
fresh
1
2
1
2
2
2
1
2
2
2
3
1
2
0
queue
(0,-1)
is off the grid - skip
minute
3
fresh
1
2
0
2
1
2
1
2
2
2
3
1
2
2
queue
(0,1)
is empty or already rotten - skip
minute
3
fresh
1
2
0
2
1
2
2
2
1
2
3
1
2
2
queue
(1,0)
is empty or already rotten - skip
minute
4
fresh
0
2
0
2
1
2
2
2
1
2
2
2
3
2
4
queue
return 4
algo
master
.
io
Step:
Rescan the whole grid every minute and rot every fresh neighbour at once
0 / 89
Input
Example 1
Example 2 (impossible)
Single row
Multi-source BFS
Custom
grid
=
[[2,1,1],[1,1,0],[0,1,1]]
0 / 89
algo
master
.
io
Step:
Rescan the whole grid every minute and rot every fresh neighbour at once