题解 | 岛屿数量

岛屿数量

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

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

        for i in range(nx):
            for j in range(ny):
                if grid[i][j] == '1':
                    count += 1
                    self.dfs(i,j,nx,ny,grid)
        return count

    def dfs(self, i, j, nx,ny,grid):
        if 0<=i<nx and 0<=j<ny and grid[i][j]=='1':
            grid[i][j]='0'
            self.dfs(i-1,j,nx,ny,grid)
            self.dfs(i+1,j,nx,ny,grid)
            self.dfs(i,j-1,nx,ny,grid)
            self.dfs(i,j+1,nx,ny,grid)
        else:
            return

if __name__ == '__main__':
    Solution()


全部评论

相关推荐

07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务