这些岛屿的坐标是如何确定的?

2024-04-29 16:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码可以解决此问题:

“给定0和1的非空二维阵列栅格,孤岛是一组4向(水平或垂直)连接的1(代表陆地)。您可以假设栅格的所有四个边都被水包围

计算不同岛屿的数量。当且仅当一个岛屿可以平移(而不是旋转或反射)以相等于另一个岛屿时,才认为一个岛屿与另一个岛屿相同。” 问题的链接:https://leetcode.com/problems/number-of-distinct-islands/

        # Do a DFS to find all cells in the current island.
        def dfs(row, col):
            if row < 0 or col < 0 or row >= len(grid) or col >= len(grid[0]):
                return
            if (row, col) in seen or not grid[row][col]:
                return
            seen.add((row, col))
            current_island.append((row - row_origin, col - col_origin))
            dfs(row + 1, col)
            dfs(row - 1, col)
            dfs(row, col + 1)
            dfs(row, col - 1)

上述代码是问题解决方案的一部分

我的问题在“当前岛.附加”一行;这一行和代码的其余部分做什么

注意,例如dfs(row+1,col)以row+1,col作为输入运行dfs函数。 但我们如何在不启动的情况下附加当前的_岛?我假设当前的_岛开始时类似于[0,0,0,0],然后我们向每个索引添加(或添加1)来表示岛


Tags: or代码inlenreturnifcolcurrent