這道題和求《島嶼的個數》那題差不多。
思路:回溯法求每個島嶼的面積,每次設定乙個全域性變數記錄當前島嶼的面積,最後取最大面積。
class solution:
def maxareaofisland(self, grid: list[list[int]]) -> int:
def dfs(i,j):
if (not 0<=ireturn 0
if grid[i][j]==0 or isvisited[i][j]==1:
return 0
isvisited[i][j]=1
result[0]+=1
dfs(i-1,j)
dfs(i,j-1)
dfs(i+1,j)
dfs(i,j+1)
return result[0]
if grid== or grid==:
return 0
m=len(grid)#行數
n=len(grid[0])#列數
isvisited=[[0 for i in range(n)] for j in range(m)]
result=[0]
result_list=
for i in range(m):
for j in range(n):
result=[0]
return max(result_list)
LeetCode 695島嶼最大面積
給定乙個包含了一些 0 和 1 的非空二維陣列 grid 乙個 島嶼 是由一些相鄰的 1 代表土地 構成的組合,這裡的 相鄰 要求兩個 1 必須在水平或者豎直方向上相鄰。你可以假設 grid 的四個邊緣都被 0 代表水 包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為 0 示例...
leetcode 695 島嶼的最大面積
給定乙個包含了一些 0 和 1的非空二維陣列grid,乙個 島嶼 是由四個方向 水平或垂直 的1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0,0...
leetcode 695 島嶼的最大面積
給定乙個包含了一些 0 和 1的非空二維陣列 grid 乙個 島嶼 是由四個方向 水平或垂直 的 1 代表土地 構成的組合。你可以假設二維矩陣的四個邊緣都被水包圍著。找到給定的二維陣列中最大的島嶼面積。如果沒有島嶼,則返回面積為0。示例 1 0,0,1,0,0,0,0,1,0,0,0,0,0 0,0...