力扣LeetCode 島嶼數量

2021-09-29 22:51:52 字數 1072 閱讀 7901

給定乙個由 『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...