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 個方向相鄰區域走,能走到的所有陸地區域,我們將其稱為一座 島嶼 如果一座島嶼 完全 由水域包圍,即陸地邊緣上下左右所有相鄰區域都是水域,那麼我們將其稱為 ...