力扣463 島嶼的周長(迭代遍歷)

2021-10-10 02:36:33 字數 994 閱讀 8031

力扣463. 島嶼的周長(迭代遍歷)

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

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

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

示例 :

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

[1,1,1,0],

[0,1,0,0],

[1,1,0,0]]

輸出: 16

對於乙個陸地格仔的每條邊,它被算作島嶼的周長當且僅當這條邊為網格的邊界或者相鄰的另乙個格仔為水域。 因此,我們可以遍歷每個陸地格仔,看其四個方向是否為邊界或者水域,如果是,將這條邊的貢獻(即 1)加入答案ans 中即可。

//

// main.cpp

// 463islandperimeter

//// created by mxq on 2020/10/30.

//#include #includeusing namespace std;

class solution

if ((j-1>=0 && grid[i][j-1]==0)|| (j-1<0))

if ((i+1=n1))

if ((j+1=n2)

result=result+up+down+left+right;}}

}return result;

}};int main(int argc, const char * ar**) ,

,,};

auto result=s.islandperimeter(grid);

cout

return 0;

}

力扣 463 島嶼的周長 C

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

力扣 島嶼的周長

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

力扣 島嶼的周長

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