計算島嶼的數量

2021-09-25 16:23:58 字數 637 閱讀 8581

給定乙個由 '1'(陸地)和 '0'(水)組成的的二維網格,計算島嶼的數量。

* 乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。

例:1* 輸入:

4 5* 11110

* 11010

* 11000

* 00000

* 輸出: 1

例2:

輸入:4 5

* 11000

* 11000

* 00100

* 00011

輸出: 3

思路:

給陣列中每乙個0,1元素設定標誌位temp;遍歷二維陣列,檢視每乙個元素的上下左右四個位置,若當前位置值為1,且其上、左位置都是0,則num加一;檢查其右、下位置的元素,若等於1則將其表示位置為1;

public class numofisland0721

public static void main(string args)

//下if (i+1=0)

//右if (j+1廣度優先遍歷演算法思想:

廣度優先:

計算湖泊(島嶼)數量問題

題目 輸入x y,生成乙個二維的網格,網格中全部由h和s組成,h代表陸地,s代表湖泊。每乙個湖泊跟相鄰的湖泊組成大湖泊,大湖泊總是被陸地包圍。要求計算該二維網格內大湖泊的數量。思路 s與其相鄰的s共同組成大湖泊,因此遍歷時相鄰的s只計入一次。演算法採用遞迴的思路,用座標的形式,記錄大湖泊內所有的座標...

島嶼的數量(思維)

題目 有n個島連在一起形成了乙個大的島嶼,如果海平面上公升超過某些島的高度時,則這個島會被淹沒。原本的大島嶼則會分為多個小島嶼,如果海平面一直上公升,則所有島都會被淹沒在水下。給出n個島的高度。然後有q個查詢,每個查詢給出乙個海平面的高度h,問當海平面高度達到h時,海上共有多少個島嶼。例如 島嶼的高...

島嶼的數量 (思維)

有n個島連在一起形成了乙個大的島嶼,如果海平面上公升超過某些島的高度時,則這個島會被淹沒。原本的大島嶼則會分為多個小島嶼,如果海平面一直上公升,則所有島都會被淹沒在水下。給出n個島的高度。然後有q個查詢,每個查詢給出乙個海平面的高度h,問當海平面高度達到h時,海上共有多少個島嶼。例如 島嶼的高度為 ...