463 島嶼的周長

2021-10-21 16:59:11 字數 1048 閱讀 5944

給定乙個 row x col 的二維網格地圖 grid ,其中:grid[i][j] = 1 表示陸地, grid[i][j] = 0 表示水域。

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

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

示例 1:

輸入:grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]

輸出:16

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

示例 2:

輸入:grid = [[1]]

輸出:4

示例 3:

輸入:grid = [[1,0]]

輸出:4

# 遍歷所給二維陣列,若遍歷到1則最終結果+4,判斷其左或上是否為1,若是則最終結果-2

class

solution

:def

islandperimeter

(self, grid: list[list[

int]])

->

int:

res =

0for i in

range

(len

(grid)):

for j in

range

(len

(grid[0]

)):if grid[i]

[j]==1:

res +=

4if i -

1>=

0and grid[i -1]

[j]==1:

res -=

2if j -

1>=

0and grid[i]

[j -1]

==1: res -=

2return res

463 島嶼的周長

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

463 島嶼的周長

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

463 島嶼的周長

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