def countLands(arr):
if not arr or not arr[0]:
return 0
N = len(arr) #行数
M = len(arr[0]) #列数
res = 0
for i in range(N):
for j in range(M):
if arr[i][j]==1:
res+=1
infect(arr,i,j,N,M)
return res
# 感染函数
def infect(arr,i,j,N,M):
if i<0 or i>N or j<0 or j>M or arr[i][j]!=1:
return
# 不要求返回值 return仅仅代表结束
arr[i][j] =2
infect(arr, i - 1, j, N, M)
infect(arr, i + 1, j, N, M)
infect(arr, i , j-1 , N, M)
infect(arr, i , j+1 , N, M)