10 30 每日一題 463 島嶼的周長

2021-10-10 02:32:04 字數 1117 閱讀 9889

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

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

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

示例 :

輸入:

[[0,1,0,0],

[1,1,1,0],

[0,1,0,0],

[1,1,0,0]]

輸出: 16

通過次數29,656| 提交次數29,656

**實現

class

solution

:def

islandperimeter

(self, grid: list[list[

int]])

->

int:

re =

0 row, col =

len(grid)

,len

(grid[0]

)for i in

range

(row)

:for j in

range

(col)

:if grid[i]

[j]==1:

temp =

4for di,dj in[[

-1,0

],[1

,0],

[0,1

],[0

,-1]

]:if0

<=i+di0<=j+dj[j+dj]==1

: temp-=

1 re+=temp

return re

每日一題 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例1 輸入 11110 11010 11000 00000 輸出 1 示例2 輸入 11000 1...

每日一題 島嶼數量

今天是2020年4月20日,星期一。給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 ...

每日一題打卡 200 島嶼的數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1 我的解答 深度優先遍歷 c...