200 島嶼數量

2021-09-29 08:02:18 字數 1392 閱讀 8464

複雜度分析

時間複雜度 : o(m×n),其中 m 和 n 分別為行數和列數。

空間複雜度 : 最壞情況下為 o(m×n),此時整個網格均為陸地,深度優先搜尋的深度達到m×n。

class solution , , , };

int numislands(vector>& grid)

int cnt = 0;

for (int i = 0; i < grid.size(); ++i) }}

return cnt;

}void bfs(vector>& grid, int i, int j)

if (grid[x][y] == '1') }}

}};

class solution 

public:

int numislands(vector>& grid) }}

return num_islands;}};

class solution );

while (!que.empty()) ); grid[row-1][col] = '0';

}if (row + 1 < nr && grid[row+1][col] == '1') ); grid[row+1][col] = '0';

}if (col - 1 >= 0 && grid[row][col-1] == '1') ); grid[row][col-1] = '0';

}if (col + 1 < nc && grid[row][col+1] == '1') ); grid[row][col+1] = '0';}}

}}}return num_islands;}};

class solution 

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

dfs(matrix, i+1, j, row, col);

dfs(matrix, i-1, j, row, col);

dfs(matrix, i, j+1, row, col);

dfs(matrix, i, j-1, row, col);

}int numislands(vector>& grid)

int row = grid.size();

int col = grid[0].size();

int count = 0;

for(int i = 0; i < row; ++i) }}

return count;}};

200 島嶼數量

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

200 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 grid 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0...

200 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 輸出 1...