# Java: Minimum time required to rot all oranges

Mentor: Shailendra Chauhan
Type : GuidedLab
Points : 10
Duration : 00:40:00

#### Lab Details

Problem Statement:

Given a matrix of dimension M * N where each cell in the matrix can have values 0, 1 or 2 which

has the following meaning:

0: Empty cell

1: Cells have fresh oranges

2: Cells have rotten oranges

Determine what is the minimum time required so that all the oranges become rotten. A rotten

orange at index (i,j ) can rot other fresh oranges which are its neighbours (up, down, left and

right). If it is impossible to rot every orange then simply return -1.

Example

Input:

``arr[][C] = { {2, 1, 0, 2, 1}, {1, 0, 1, 2, 1}, {1, 0, 0, 2, 1}};``

Output:

``````At 0th time frame:
{2, 1, 0, 2, 1}
{1, 0, 1, 2, 1}
{1, 0, 0, 2, 1}
At 1st time frame:
{2, 2, 0, 2, 2}
{2, 0, 2, 2, 2}
{1, 0, 0, 2, 2}
At 2nd time frame:
{2, 2, 0, 2, 2}
{2, 0, 2, 2, 2}
{2, 0, 0, 2, 2}``````
Self-paced Membership
• 24+ Video Courses
• 825+ Hands-On Labs
• 400+ Quick Notes
• 50+ Skill Tests
• 10+ Interview Q&A Courses
• 10+ Real-world Projects
• Career Coaching Sessions
• Email Support
Upto 60% OFF
Still have some questions? Let's discuss.