Search⌘ K
AI Features

Solution: Swim in Rising Water

Explore the solution to the Swim in Rising Water problem by applying a greedy, Dijkstra-like algorithm. Understand the use of a min heap to track cell elevations and determine the earliest time to swim from the grid's top-left to bottom-right cell. Learn how to efficiently explore adjacent cells while tracking the maximum elevation and water level required for traversal.

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) ...