網格沉島問題
給定乙個包含了一些 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...