統計子島嶼

2022-09-10 09:21:08 字數 700 閱讀 9662

leetcode 1905.統計子島嶼

給你兩個m x n的二進位制矩陣grid1和grid2,它們只包含0(表示水域)和1(表示陸地)。乙個島嶼是由四個方向(水平或者豎直)上相鄰的1組成的區域。任何矩陣以外的區域都視為水域。

如果grid2的乙個島嶼,被grid1的乙個島嶼完全包含,也就是說grid2中該島嶼的每乙個格仔都被grid1中同乙個島嶼完全包含,那麼我們稱grid2中的這個島嶼為子島嶼。

請你返回grid2中子島嶼的數目。

用dfs掃瞄整個矩陣圖,將乙個點相連的所有陸地都置為海洋,即可用於統計子島嶼數量。

class solution ;

int dy[5]=;

void dfs(vector>& grid,int x,int y)

int countsubislands(vector>& grid1, vector>& grid2)

int ans=0;

for(int i=0;i

for(int j=0;j

}return ans;}};

LeetCode統計封閉島嶼數

題目對於封閉島嶼的要求是上下左右所有相鄰區域都是水域,所以首先排除處於矩陣邊框的陸地,設定乙個flag,利用深搜判斷陸地周圍是否是陸地,如果不是的話結束本次搜尋。封閉島嶼數加一 ac 如下 class solution if gird i j 0 return gird i j 1 標記已經走過的區...

統計封閉島嶼的數目

有乙個二維矩陣 grid 每個位置要麼是陸地 記號為 0 要麼是水域 記號為 1 我們從一塊陸地出發,每次可以往上下左右 4 個方向相鄰區域走,能走到的所有陸地區域,我們將其稱為一座 島嶼 如果一座島嶼 完全 由水域包圍,即陸地邊緣上下左右所有相鄰區域都是水域,那麼我們將其稱為 封閉島嶼 請返回封閉...

leetcode 統計封閉島嶼的數目

有乙個二維矩陣 gri dgrid grid 每個位置要麼是陸地 記號為 0 要麼是水域 記號為 1 我們從一塊陸地出發,每次可以往上下左右 4 個方向相鄰區域走,能走到的所有陸地區域,我們將其稱為一座 島嶼 如果一座島嶼 完全 由水域包圍,即陸地邊緣上下左右所有相鄰區域都是水域,那麼我們將其稱為 ...