搜尋(DFS) 能到達的太平洋和大西洋的區域

2022-08-20 17:09:12 字數 827 閱讀 6185

417. pacific atlantic water flow (medium)

given the following 5x5 matrix:

pacific ~ ~ ~ ~ ~

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

* * * * * atlantic

return:

[[0, 4], [1, 3], [1, 4], [2, 2], [3, 0], [3, 1], [4, 0]] (positions with parentheses in above matrix).

題目描述:

左邊和上邊是太平洋,右邊和下邊是大西洋,內部的數字代表海拔,海拔高的地方的水能夠流到低的地方,求解水能夠流到太平洋和大西洋的所有位置。

思路分析:

從邊界出發,左邊界和上邊界元素都可以流進太平洋,右邊界和下邊界元素都可以流進大西洋,我們遍歷邊界元素,然後對邊界元素進行深度優先遍歷,如果在深度優先遍歷的過程中遇到的元素值,大於邊界元素,那麼證明其可以流入對應的海洋,然後繼續對該元素進行深度優先遍歷,直到遇見的元素都比其小從而停止遍歷。最後我們檢視陣列中的元素,如果既能到達太平洋又能到達大西洋,那麼這個元素就是滿足要求得結果,返回其座標。

**:

public listpacificatlantic(intmatrix)

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

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

417太平洋大西洋水流問題

採用逆向思維,從陣列的最外邊開始遍歷,向陣列中心開始遍歷,如果太平洋和大西洋都被訪問過,那麼當前節點就就符合題目條件。class solution,bool iseffective int x,int y void dfs int x,int y,int pre,vector bool shuzu,...

417 太平洋大西洋水流問題

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