給定乙個由 『1』(陸地)和 『0』(水)組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。
示例 1:
輸入:11110
11010
11000
00000
輸出: 1
示例 2:
輸入:11000
11000
00100
00011
輸出: 3
以下是**:
class
solution
// 以二維陣列長度為行數,第乙個陣列長度為列數,開始廣度遍歷,為了避免重複遍歷,已經遍歷的賦值為0
int rows = grid.length;
int cols = grid[0]
.length;
//找到第一塊陸地,然後四個方向探索
for(
int i=
0; i}return island;
}public
void
searchland
(char
grid,
int i,
int j,
int rows,
int cols)
//周圍都是水
if(grid[i]
[j]!=
'1')
//標記探索地區
grid[i]
[j]=
'0';
//探索上
searchland
(grid,i-
1,j,rows,cols)
;//探索下
searchland
(grid,i+
1,j,rows,cols)
;//探索左
searchland
(grid,i,j-
1,rows,cols)
;//探索右
searchland
(grid,i,j+
1,rows,cols);}
}
力扣Leetcode 200 島嶼數量
給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。輸入 11110 11010 11000 00000 輸出 1輸入 11000 11000 0010...
力扣 200 島嶼數量
給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。解題思路 dfs函式的作用 找到包含grid i j 格仔的島嶼的全部格仔,並將其全部置為 2 已訪...
力扣 200 島嶼數量(js)
給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 輸出 1...