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