leetcode题解记录-200岛屿数量(python3)

it2026-02-25  2

题目

岛屿数量 题目链接 官方题解

关键词

队列,广度优先搜索

代码记录

class Solution: def numIslands(self, grid: List[List[str]]) -> int: from collections import deque m,n = len(grid),len(grid[0]) visited={} res=0 for i in range(m): for j in range(n): if grid[i][j]=='1' and str(i)+'-'+str(j) not in visited: res += 1 queue=deque([(i,j)]) visited[str(i)+'-'+str(j)]=1 while queue: cur=queue.popleft() to_search=[(max(cur[0]-1,0),cur[1]),(min(cur[0]+1,m-1),cur[1]),(cur[0],max(cur[1]-1,0)),(cur[0],min(cur[1]+1,n-1))] for node in to_search: if str(node[0])+'-'+str(node[1]) not in visited: visited[str(node[0])+'-'+str(node[1])]=1 if grid[node[0]][node[1]]=='1': queue.append((node[0],node[1])) return res
最新回复(0)