給定乙個 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]] (上圖中帶括號的單元).
// 判斷從上到下 列 是否滿足要求 就是dfs去判斷當前的高度要非遞減
for(
int col =
0; col < n; col++
)for
(int i =
0; i < m; i++)}
}return res;
}/**
* @param matrix 原小島矩陣
* @param row 行
* @param col 列
* @param preheight 前乙個高度
* @param ocean 兩洋布林矩陣
* @return void
* @author dpfan@mail.ustc.edu.cn
* @date 2020/12/2 9:43
*/private
void
dfs(
int[
] matrix,
int row,
int col,
int preheight,
boolean
ocean)
// 否則的話 遞迴處理ocean矩陣 深度優先遍歷 就是求解兩個boolean矩陣
ocean[row]
[col]
=true
;dfs
(matrix, row+
1, col, matrix[row]
[col]
, ocean)
;dfs
(matrix, row-
1, col, matrix[row]
[col]
, ocean)
;dfs
(matrix,row, col+
1, matrix[row]
[col]
, ocean)
;dfs
(matrix, row, col-
1, matrix[row]
[col]
, ocean);}
}
Leetcode417 太平洋大西洋水流問題
給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...
leetCode 417 太平洋大西洋水流問題
給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...
leetcode 417 太平洋大西洋水流問題
給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。輸出...