Search⌘ K
AI Features

Solution: Swim in Rising Water

Explore a greedy algorithm to solve the Swim in Rising Water problem on a matrix. Understand how to use a min heap to track elevations and find the earliest time to swim from the top-left to bottom-right cell. Learn key steps in matrix traversal, marking visited cells, and optimizing solution efficiency with time and space complexity analysis.

Statement

Given an n×nn \times n grid (2D matrix) where each cell grid[i][j] represents the elevation at position (i, j).

Once it starts to rain, the water level rises over time. At any given time t, the water depth across the grid equals t. A swimmer can move from one cell to an adjacent cell (up, down, left, or right) if both cells have elevations less than or equal to the current water level t.

If the elevation condition is satisfied, a swimmer can swim any distance instantly. However, he cannot move outside the grid boundaries.

Return the minimum time t at which it becomes possible to swim from the top-left cell (0,0)(0, 0) to the bottom-right cell (n1,n1)(n - 1, n - 1) ...