島嶼面積問題

2021-10-11 05:11:20 字數 1073 閱讀 1638

網格沉島問題

給定乙個包含了一些 0 和 1 的非空二維陣列 grid 。

乙個 島嶼 是由一些相鄰的 1 (代表土地) 構成的組合,這裡的「相鄰」要求兩個 1 必須在水平或者豎直方向上相鄰。你可以假設 grid 的四個邊緣都被 0(代表水)包圍著。

找到給定的二維陣列中最大的島嶼面積。(如果沒有島嶼,則返回面積為 0 。)

示例 1:

[[0,0,1,0,0,0,0,1,0,0,0,0,0],

[0,0,0,0,0,0,0,1,1,1,0,0,0],

[0,1,1,0,1,0,0,0,0,0,0,0,0],

[0,1,0,0,1,1,0,0,1,0,1,0,0],

[0,1,0,0,1,1,0,0,1,1,1,0,0],

[0,0,0,0,0,0,0,0,0,0,1,0,0],

[0,0,0,0,0,0,0,1,1,1,0,0,0],

[0,0,0,0,0,0,0,1,1,0,0,0,0]]

對於上面這個給定矩陣應返回 6。注意答案不應該是 11 ,因為島嶼只能包含水平或垂直的四個方向的 1 。

題解如下

// an highlighted block

public

intmaxareaofisland

(int

grid)

}return ans;

}public

intcount

(int

grid,

int cur_i,

int cur_j)

grid[cur_i]

[cur_j]=0

;//能夠進來一定是1,賦值就是避免重複走,沉島

int[

] di =

;//橫向操作

int[

] dj =

;//縱向操作兩者和起來就是東南西北

int ans =1;

for(

int index =

0; index !=4;

++index)

return ans;

}

最大島嶼面積

用1表示陸地,0表示海洋,只有水平和豎直位置關係才算相鄰.求島嶼的最大連通面積 5 二維陣列大小 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 從一塊陸地出發,像四個方向遞迴遍歷 每次遞迴對下標進行判斷,以區域的邊界或者遇到海洋為遞迴邊界 設定訪...

關於01矩陣問題求島嶼個數及面積問題

給定形如下 的矩陣,15,5 0,1,0,1,0 1,1,0,0,0 0,0,1,1,0 0,1,0,1,0 1,0,0,0,0 0,1,0,1,0 1,1,0,0,0 0,0,1,1,0 0,1,0,1,0 1,0,0,0,0 0,1,0,1,0 1,1,0,0,0 0,0,1,1,0 0,1,0...

島嶼的最大面積

給定乙個包含了一些 0 和 1的非空二維陣列 grid 乙個 島嶼 是由四個方向 水平或垂直 的 1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0...