题解 | #岛屿数量#

岛屿数量

https://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 判断岛屿数量
# @param grid char字符型二维数组
# @return int整型
#
class Solution:
    def solve(self, grid: List[List[str]]) -> int:
        if not grid:
            return 0

        def dfs(matrix, i, j):
            if (
                i < 0
                or i >= len(matrix)
                or j < 0
                or j >= len(matrix[0])
                or matrix[i][j] == "0"
            ):
                return
            else:
                matrix[i][j] = "0"
                dfs(matrix, i + 1, j)
                dfs(matrix, i - 1, j)
                dfs(matrix, i, j + 1)
                dfs(matrix, i, j - 1)

        res = 0

        for r in range(len(grid)):
            for c in range(len(grid[0])):
                if grid[r][c] == "1":
                    res += 1
                    dfs(grid, r, c)

        return res

全部评论

相关推荐

点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务