Number of Enclaves (Leetcode 1020)
Problem Link: https://leetcode.com/problems/number-of-enclaves/
class Solution:
def numEnclaves(self, grid: List[List[int]]) -> int:
# Make all 1s which are connected to border to 0
def dfs(i,j,m,n,grid):
if(i<0 or j<0 or i>=m or j>=n or grid[i][j]==0):
return
grid[i][j]=0
dfs(i+1,j,m,n,grid)
dfs(i-1,j,m,n,grid)
dfs(i,j-1,m,n,grid)
dfs(i,j+1,m,n,grid)
m=len(grid)
n=len(grid[0])
for i in range(m):
for j in range(n):
if(i==0 or j==0 or i==m-1 or j==n-1):
if(grid[i][j]==1):
dfs(i,j,m,n,grid)
# Then count the 1s which are left over in matrix
count=0
for i in range(m):
for j in range(n):
if(grid[i][j]==1):
count+=1
return count
Last updated