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