leetcode417 大西洋太平洋水流問題

2021-10-11 02:38:12 字數 1668 閱讀 7643

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