探索佇列和棧 島嶼數量bfs廣度優先搜尋

2021-10-04 06:52:15 字數 912 閱讀 3406

給定乙個由 『1』(陸地)和 『0』(水)組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。

示例 1:

輸入:11110

11010

11000

00000

輸出: 1

示例 2:

輸入:11000

11000

00100

00011

輸出: 3

class

solution

int lie=grid[0]

.size()

; queueint,

int>> a;

//用於存放座標

int nums=0;

for(

int i=

0;i;while

(!b.

empty()

));//將此座標加入到佇列中

grid[h-1]

[l]=

'0';

//此處修改為0}if

(h+1

[l]==

'1'));

grid[h+1]

[l]=

'0';}if

(l-1

>=

0&& grid[h]

[l-1]==

'1'));

grid[h]

[l-1]=

'0';}if

(l+1

[l+1]==

'1'));

grid[h]

[l+1]=

'0';}}

}}}return nums;}}

;

島嶼數量(BFS廣度優先搜尋 佇列)

題目 給定乙個由 1 陸地 和 0 水 組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1 示例 2 輸入 11000 11000 0010...

leetcode 探索 佇列與棧 島嶼數量

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

DFS和BFS求解島嶼數量

給乙個01矩陣,1代表是陸地,0代表海洋,如果兩個1相鄰,那麼這兩個1屬於同乙個島。我們只考慮上下左右為相鄰。島嶼 相鄰陸地可以組成乙個島嶼 相鄰 上下左右 判斷島嶼個數。示例1輸入 1,1,0,0,0 0,1,0,1,1 0,0,0,1,1 0,0,0,0,0 0,0,1,1,1 返回值3 備註 ...