目录
一.完整代码
list1 = [[1,1,0,1,1],[1,0,0,0,0],[0,0,0,0,1],[1,1,0,1,1]]
def numDistinctIslands(list1):
row = len(list1)
col = len(list1[0])
set1 = set()
for i in range(row):
for j in range(col):
if list1[i][j]==1:
ac = []
dfs(list1,i,j,ac,1)
set1.add(" ".join(map(str,ac)))
return len(set1)
def dfs(grid,i,j,sb,nums):
m = len(grid)
n = len(grid[0])
if(i<0 or i>=m or j<0 or j>=n):
return
if(grid[i][j]==0):
return
grid[i][j] = 0
sb.append(nums)
dfs(grid,i-1,j,sb,1)
dfs(grid,i+1,j,sb,2)
dfs(grid,i,j-1,sb,3)
dfs(grid,i,j+1,sb,4)
sb.append(-nums)
res = numDistinctIslands(list1)
print(res)