Find the minutes until all reachable fresh oranges rot, or -1 if some can never rot.
A good solution should
- State the invariant or decision rule that makes the approach correct.
- Explain time and space costs in terms of input size and required output.
- Handle empty, minimal, duplicate, and boundary-shaped inputs.
Reasoning prompt
Initialize BFS with every rotten orange at time zero and process one layer per minute. Return zero when there is no fresh orange.
Use the linked judge for the canonical challenge. The examples above are compact TRT checks; create additional tests around the boundary most likely to break your invariant.