java.lang.Object
g0401_0500.s0417_pacific_atlantic_water_flow.Solution

public class Solution extends Object
417 - Pacific Atlantic Water Flow.<p>Medium</p> <p>There is an <code>m x n</code> rectangular island that borders both the <strong>Pacific Ocean</strong> and <strong>Atlantic Ocean</strong>. The <strong>Pacific Ocean</strong> touches the island&rsquo;s left and top edges, and the <strong>Atlantic Ocean</strong> touches the island&rsquo;s right and bottom edges.</p> <p>The island is partitioned into a grid of square cells. You are given an <code>m x n</code> integer matrix <code>heights</code> where <code>heights[r][c]</code> represents the <strong>height above sea level</strong> of the cell at coordinate <code>(r, c)</code>.</p> <p>The island receives a lot of rain, and the rain water can flow to neighboring cells directly north, south, east, and west if the neighboring cell&rsquo;s height is <strong>less than or equal to</strong> the current cell&rsquo;s height. Water can flow from any cell adjacent to an ocean into the ocean.</p> <p>Return <em>a <strong>2D list</strong> of grid coordinates</em> <code>result</code> <em>where</em> <code>result[i] = [r<sub>i</sub>, c<sub>i</sub>]</code> <em>denotes that rain water can flow from cell</em> <code>(r<sub>i</sub>, c<sub>i</sub>)</code> <em>to <strong>both</strong> the Pacific and Atlantic oceans</em>.</p> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2021/06/08/waterflow-grid.jpg" alt="" /></p> <p><strong>Input:</strong> heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]</p> <p><strong>Output:</strong> [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> heights = [[2,1],[1,2]]</p> <p><strong>Output:</strong> [[0,0],[0,1],[1,0],[1,1]]</p> <p><strong>Constraints:</strong></p> <ul> <li><code>m == heights.length</code></li> <li><code>n == heights[r].length</code></li> <li><code>1 <= m, n <= 200</code></li> <li><code>0 <= heights[r][c] <= 10<sup>5</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • pacificAtlantic

      public List<List<Integer>> pacificAtlantic(int[][] matrix)