Rotten Oranges Spread

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
  • 2 representing a rotten orange

Every minute, any fresh orange that is adjacent (4-directionally) to a rotten orange becomes rotten. Return the minimum number of minutes that must elapse until no fresh oranges remain, or return -1 if it's impossible.

Examples
Input: [[2,1,1],[1,1,0],[0,1,1]]
Output: 4
Hints

Rotten Oranges Spread

You are given an `m x n` grid where each cell can have one of three values: