Tap here to switch tabs
Problem
Ask
Submissions

Problem: Pacific Atlantic Water Flow

med
30 min
Explore the Pacific Atlantic water flow problem where you analyze a matrix representing island elevations to identify cells from which water can flow to both oceans. Learn to apply grid traversal algorithms and optimize solutions with time and space constraints.

Statement

Imagine an island with a rectangular shape that touches both the Pacific and Atlantic oceans. The northern and western sides meet the Pacific, while the southern and eastern sides touch the Atlantic. This island is divided into square cells.

To depict the height above sea level of each cell, we use an integer matrix, heights, of size (m×n)(m \times n). Here, heights[r][c] represents the elevation of the cell at coordinate (r,c)(r, c).

When heavy rain pours down on the island every few months, water flows from the island to both the Pacific and Atlantic oceans. The path of flow depends on the heights of the cells.

Consider a cell with a height of 99 that’s higher than or equal to its neighboring cells to the north, east, west, and south. This indicates that water can flow from this cell to adjacent ones. Similarly, this process is repeated until the flow of water either reaches the Pacific or Atlantic border or a cell that can not flow water to any of its neighbors. If the flow of water starting from a cell can direct water to both the Pacific and Atlantic Ocean borders, we include it in the output.

Note: Any cell adjacent to an ocean can channel water into the ocean.

With this information, your task is to return a 2D array of coordinates. Each entry (ri,ci)(r_i, c_i) in this array indicates that rainwater can flow from the cell at coordinate (ri,ci)(r_i, c_i) to both the Pacific and Atlantic oceans.

Constraints:

  • m==m == heights.length

  • n==n == heights[r].length, where 0r<m0 \leq r \lt m

  • 1m1 \leq m, n30n \leq 30

  • 00 \leq heights[r][c] 103\leq 10^3

Tap here to switch tabs
Problem
Ask
Submissions

Problem: Pacific Atlantic Water Flow

med
30 min
Explore the Pacific Atlantic water flow problem where you analyze a matrix representing island elevations to identify cells from which water can flow to both oceans. Learn to apply grid traversal algorithms and optimize solutions with time and space constraints.

Statement

Imagine an island with a rectangular shape that touches both the Pacific and Atlantic oceans. The northern and western sides meet the Pacific, while the southern and eastern sides touch the Atlantic. This island is divided into square cells.

To depict the height above sea level of each cell, we use an integer matrix, heights, of size (m×n)(m \times n). Here, heights[r][c] represents the elevation of the cell at coordinate (r,c)(r, c).

When heavy rain pours down on the island every few months, water flows from the island to both the Pacific and Atlantic oceans. The path of flow depends on the heights of the cells.

Consider a cell with a height of 99 that’s higher than or equal to its neighboring cells to the north, east, west, and south. This indicates that water can flow from this cell to adjacent ones. Similarly, this process is repeated until the flow of water either reaches the Pacific or Atlantic border or a cell that can not flow water to any of its neighbors. If the flow of water starting from a cell can direct water to both the Pacific and Atlantic Ocean borders, we include it in the output.

Note: Any cell adjacent to an ocean can channel water into the ocean.

With this information, your task is to return a 2D array of coordinates. Each entry (ri,ci)(r_i, c_i) in this array indicates that rainwater can flow from the cell at coordinate (ri,ci)(r_i, c_i) to both the Pacific and Atlantic oceans.

Constraints:

  • m==m == heights.length

  • n==n == heights[r].length, where 0r<m0 \leq r \lt m

  • 1m1 \leq m, n30n \leq 30

  • 00 \leq heights[r][c] 103\leq 10^3