採用逆向思維,從陣列的最外邊開始遍歷,向陣列中心開始遍歷,如果太平洋和大西洋都被訪問過,那麼當前節點就就符合題目條件。
class
solution,,
,};bool
iseffective
(int x,
int y)
void
dfs(
int x,
int y,
int pre,vector
bool
>
>
&shuzu,vector
int>>
& matrix)
} vector
int>>
pacificatlantic
(vector
int>>
& matrix)
for(
int j=
0;j)for
(int i=
0;i;}
}return res;}}
;
417 太平洋大西洋水流問題
給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標。目前...
417 太平洋大西洋水流問題
典型的搜尋演算法,不過這次搜尋的目標有兩個,到達太平洋和大西洋。需要寫兩個dfs遞迴函式。演算法流程 遍歷圖中所有點,呼叫深度遞迴函式。如果該點既能到達太平洋又能夠到達大西洋。那麼將這個點加入結果集。返回結果集合 這裡的遞迴算是深度優先遍歷的模板步驟吧。不過這裡標記是否訪問用了乙個小技巧,修改原陣列...
417 太平洋大西洋水流問題 Medium
三 總結 給定乙個m x n的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西洋 的陸地單元的座標...