DFS LeetCode695 島嶼的最大面積

2021-10-08 23:35:12 字數 837 閱讀 6822

找到給定的二維陣列中最大的島嶼面積。(如果沒有島嶼,則返回面積為0)

對於上面這個給定矩陣應返回 6。注意答案不應該是 11 ,因為島嶼只能包含水平或垂直的四個方向的 1 。

class solution(object):

def maxareaofisland(self, arr):

m = len(arr)

if m == 0:

return 0

n = len(arr[0])

res = 0

def dfs(i, j):

# 結束條件

if i < 0 or i >= m or j < 0 or j >= n:

return 0

if arr[i][j] == 0:

return 0

arr[i][j] = 0

# 上top = dfs(i + 1, j)

# 下bottom = dfs(i - 1, j)

# 左left = dfs(i, j - 1)

# 右right = dfs(i, j + 1)

return sum([top, bottom, left, right]) + 1

for i in range(m):

for j in range(n):

res = max(dfs(i, j), res)

return res

695 島嶼的最大面積

給定乙個包含了一些 0 和 1的非空二維陣列 grid 乙個 島嶼 是由四個方向 水平或垂直 的 1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0...

695 島嶼的最大面積

給定乙個包含了一些 0 和 1的非空二維陣列 grid 乙個 島嶼 是由四個方向 水平或垂直 的 1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0...

695 島嶼的最大面積

給定乙個包含了一些 0 和 1 的非空二維陣列 grid 乙個 島嶼 是由一些相鄰的 1 代表土地 構成的組合,這裡的 相鄰 要求兩個 1 必須在水平或者豎直方向上相鄰。你可以假設 grid 的四個邊緣都被 0 代表水 包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為 0 示例...