注意不要把ant写在参数里面即ant+1,应该把ant当成一个全局变量使用
class Solution:
def maxAreaOfIsland(self, grid: List[List[int]]) -> int:
m,n=len(grid),len(grid[0])
ans=0
def dfs(row,col):
nonlocal ant
if row<0 or col<0 or row>=m or col>=n or grid[row][col]!=1:
return
grid[row][col]=-1
ant+=1
dfs(row+1,col)#注意这里不要写成ant+1了
dfs(row-1,col)
dfs(row,col+1)
dfs(row,col-1)
for i in range(m):
for j in range(n):
if grid[i][j]==1:
ant=0
dfs(i,j)
ans=max(ans,ant)
return ans