Rotting oranges
Your task
You are given an m x n grid where each cell is 0 (empty), 1 (fresh orange), or 2 (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. The grid has 1 to 100 rows and 1 to 100 columns.
Examples
oranges_rotting(grid: list[list[int]]) -> intExample 1
Input
oranges_rotting([[2, 1, 1], [1, 1, 0], [0, 1, 1]])Output
4