厦门在线制作网站,怎么配置网站服务器,wordpress视频教程 百度云,宣城做网站的公司题目 给定一个由 1#xff08;陆地#xff09;和 0#xff08;水#xff09;组成的的二维网格#xff0c;计算岛屿的数量。一个岛被水包围#xff0c;并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1:输入: 11110
110…题目 给定一个由 1陆地和 0水组成的的二维网格计算岛屿的数量。一个岛被水包围并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1:输入: 11110
11010
11000
00000输出: 1 示例 2:输入: 11000
11000
00100
00011输出: 3 思路 DFS深度遍历搜索 visited记录遍历过的陆地 代码 class Solution:def numIslands(self, grid: List[List[str]]) - int:if len(grid) 0:return 0#visited全部初始化为0row, col len(grid), len(grid[0])visited [[0 for x in range(0, col)] for y in range(0, row)]count0for i in range(0,row):for j in range(0,col):if visited[i][j]0 and grid[i][j]1:self.dfs(grid,i,j,visited)count 1return countdef dfs(self, grid, i, j, visited):if i 0 or i len(grid):returnif j 0 or j len(grid[0]):returnif grid[i][j]0 or visited[i][j]1:returnvisited[i][j] 1 #遍历过的地方置为1#上下左右四个方向遍历self.dfs(grid, i-1, j, visited)self.dfs(grid, i1, j, visited)self.dfs(grid, i, j-1, visited)self.dfs(grid, i, j1, visited) 转载于:https://www.cnblogs.com/wemo/p/10547711.html