leetCode 417 太平洋大西洋水流問題

2021-10-25 10:13:23 字數 1258 閱讀 4650

給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。「太平洋」處於大陸的左邊界和上邊界,而「大西洋」處於大陸的右邊界和下邊界。

規定水流只能按照上、下、左、右四個方向流動,且只能從高到低或者在同等高度上流動。

請找出那些水流既可以流動到「太平洋」,又能流動到「大西洋」的陸地單元的座標。

輸出座標的順序不重要

m 和 n 都小於150

示例:

給定下面的 5x5 矩陣:

太平洋 ~ ~ ~ ~ ~

~ 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 *

* * * * * 大西洋

返回:

[[0, 4], [1, 3], [1, 4], [2, 2], [3, 0], [3, 1], [4, 0]] (上圖中帶括號的單元).
思路:

這題與130. 被圍繞的區域大同小異, 以邊界為起始點進行深度優先搜尋,使用輔助陣列記錄能到達的座標,最後通過遍歷兩個輔助陣列來判斷符合要求的座標點。

class

solution,,

,}; list

> result =

newarraylist

<

>()

;public list

>

pacificatlantic

(int

matrix)

for(

int i =

0; i < cols; i ++

)for

(int i =

0; i < rows; i++)}

}return result;

}private

void

dfs(

int[

] matrix,

int x,

int y,

boolean

reach)

reach[x]

[y]=

true

;for

(int

dir : dirs)

dfs(matrix, nx, ny, reach);}

}}

Leetcode417 太平洋大西洋水流問題

給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...

leetcode 417 太平洋大西洋水流問題

給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...

leetcode417 大西洋太平洋水流問題

給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...