演算法練習 水域大小 深度優先

2021-10-06 16:07:19 字數 517 閱讀 5179

題目:

你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直、水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。

示例:

輸入:[

[0,2,1,0],

[0,1,0,1],

[1,1,0,1],

[0,1,0,1]

]輸出:[1,2,4]

個人思路:

深度優先,遍歷陣列,如果為0,那麼對其進行深度優先的遞迴,遞迴它上下左右和對角線,然後返回面積,再和當前最大面積進行比較,更新最大面積。

**:

class solution else

}}

深度優先搜尋 水域大小

問題 你有乙個用於表示一片土地的整形矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角線相連的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有 池塘的大小,返回值需要從小到大排序。示例 輸入 0,2,1,0 0,1,0,1 1,1...

DFS深度優先搜尋練習

題意 用 代表油田,八個方向互相連線,把相連的油田看作一塊油田,問你最多有多少塊油田。思路 本題其實本質就是乙個迷宮問題,所以我們就可以用dfs或者bfs,本題我們當然採用dfs,用乙個vis標記一下,然後從頭開始遍歷,如果這個點等於 並且vis為0時,開始bfs一次,記錄bfs的次數,bfs的次數...

2016 6 10 深度優先搜尋練習

時間限制 1 s 空間限制 128000 kb 題目等級 gold 在乙個4 4的棋盤上擺放了14顆棋子,其中有7顆白色棋子,7顆黑色棋子,有兩個空白地帶,任何一顆黑白棋子都可以向上下左右四個方向移動到相鄰的空格,這叫行棋一步,黑白雙方交替走棋,任意一方可以先走,如果某個時刻使得任意一種顏色的棋子形...