題目:
給定'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 本題不需要回溯 直接把 訪問過的標記即可 廣度優先...