463 島嶼的周長

2021-09-19 04:27:53 字數 910 閱讀 5572

給定乙個包含 0 和 1 的二維網格地圖,其中 1 表示陸地 0 表示水域。

網格中的格仔水平和垂直方向相連(對角線方向不相連)。整個網格被水完全包圍,但其中恰好有乙個島嶼(或者說,乙個或多個表示陸地的格仔相連組成的島嶼)。

島嶼中沒有「湖」(「湖」 指水域在島嶼內部且不和島嶼周圍的水相連)。格仔是邊長為 1 的正方形。網格為長方形,且寬度和高度均不超過 100 。計算這個島嶼的周長。

示例 :

輸入:

[[0,1,0,0],

[1,1,1,0],

[0,1,0,0],

[1,1,0,0]]

輸出: 16

解釋:它的周長是下面中的 16 個黃色的邊:

思路:

1、迴圈遍歷矩陣,計算島嶼數量;

2、如果當前點是乙個島,則計算它是否有任何右鄰居 或 下鄰居;

3、結果是島嶼* 4 - 鄰居* 2

public int islandperimeter(int grid) }}

int res = landcount * 4 - linjucount * 2;

return res;

}private int haslinju(int grid, int i, int j, int row, int col)

if (j + 1 < grid[0].length && grid[i][j + 1] == 1)

return res;

}

463 島嶼的周長

給定乙個包含 0 和 1 的二維網格地圖,其中 1 表示陸地 0 表示水域。網格中的格仔水平和垂直方向相連 對角線方向不相連 整個網格被水完全包圍,但其中恰好有乙個島嶼 或者說,乙個或多個表示陸地的格仔相連組成的島嶼 島嶼中沒有 湖 湖 指水域在島嶼內部且不和島嶼周圍的水相連 格仔是邊長為 1 的正...

463 島嶼的周長

給定乙個包含 0 和 1 的二維網格地圖,其中 1 表示陸地 0 表示水域。網格中的格仔水平和垂直方向相連 對角線方向不相連 整個網格被水完全包圍,但其中恰好有乙個島嶼 或者說,乙個或多個表示陸地的格仔相連組成的島嶼 島嶼中沒有 湖 湖 指水域在島嶼內部且不和島嶼周圍的水相連 格仔是邊長為 1 的正...

463 島嶼的周長

463.島嶼的周長 給定乙個包含 0 和 1 的二維網格地圖,其中 1 表示陸地 0 表示水域。網格中的格仔水平和垂直方向相連 對角線方向不相連 整個網格被水完全包圍,但其中恰好有乙個島嶼 或者說,乙個或多個表示陸地的格仔相連組成的島嶼 島嶼中沒有 湖 湖 指水域在島嶼內部且不和島嶼周圍的水相連 格...