Given an m×n grid: 0=empty, 1=fresh, 2=rotten. Every minute, fresh oranges 4-adjacent to rotten become rotten. Return minimum minutes until no fresh remains, or -1 if impossible.
[[2,1,1],[1,1,0],[0,1,1]]4All rotten oranges start simultaneously. Each BFS level = 1 minute. Fresh neighbors become rotten when visited. If fresh>0 after BFS ends, some oranges are unreachable → return -1.