Number of Islands (Leetcode 200)
Problem Link: https://leetcode.com/problems/number-of-islands/
class Solution:
def numIslands(self, grid: List[List[str]]) -> int:
def dfs(grid,i,j,visited,m,n):
if(i<0 or j<0 or i==m or j==n or visited[i][j]==True or grid[i][j]=="0"):
return
visited[i][j]=True
dfs(grid,i+1,j,visited,m,n)
dfs(grid,i-1,j,visited,m,n)
dfs(grid,i,j+1,visited,m,n)
dfs(grid,i,j-1,visited,m,n)
m=len(grid)
n=len(grid[0])
visited=[[False for i in range(n)] for j in range(m)]
count=0
for i in range(m):
for j in range(n):
if(grid[i][j]=="1"):
if(visited[i][j]==False):
dfs(grid,i,j,visited,m,n)
count=count+1
return count
Last updated