島嶼數量 200 DFS

2022-05-04 17:48:11 字數 705 閱讀 9301

題目:

給定'1's(土地)和'0's(水)的2d網格圖,計算島嶼的數量。

島被水包圍,通過水平或垂直連線相鄰的土地而形成。您可以假設網格的所有四個邊都被水包圍。

分析://截至條件:如何判定這是乙個島嶼grid[i+1][j] == 0 && grid[i][j+1] == 0的時候

//確定這是乙個島嶼,此時在儲存島嶼數量的變數上加1

code:

int numislands(vector>&grid)

} }return concount;

}int dfs(vector>&grid,int i,int j)

int areacount = 0;

grid[i][j] = '0';

if (grid[i+1][j] == '0' && grid[i][j+1] == '0' && grid[i+1][j+1] == '1')

return dfs(grid, i, j - 1) + dfs(grid, i - 1, j) + dfs(grid, i, j + 1) + dfs(grid, i + 1, j);

}

//現在的情況是輸出0;

//也就是在案例中沒有出現

grid[i+1][j] == '0' && grid[i][j+1] == '0' && grid[i+1][j+1] == '1'的情況

leetcode 200 島嶼數量(dfs)

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。ac c class solution dy 4 方向陣列 for int k 0 k 3 k return true 返回true表示搜到一塊陸地 intnumislands vectorchar grid return...

200 島嶼數量

複雜度分析 時間複雜度 o m n 其中 m 和 n 分別為行數和列數。空間複雜度 最壞情況下為 o m n 此時整個網格均為陸地,深度優先搜尋的深度達到m n。class solution int numislands vector grid int cnt 0 for int i 0 i gri...

200 島嶼數量

leetcode 200.島嶼數量 島嶼另一種型別 求周長 leetcoed 463.島嶼的周長 廣度優先遍歷 bfs 深度優先遍歷 dfs 2.1 dfs 就是遇到乙個 1 遞迴下去繼續找 1 四周沒有 1 之後,逐層返回到上一層找四周剩餘的 1 本題不需要回溯 直接把 訪問過的標記即可 廣度優先...