We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
visited_nodes=[]
region_count=0
def dfs(matrix,i,j):
global region_count
for p in range(-1,2):
for q in range(-1,2):
if i+p>=0 and i+p<len(matrix) and j+q>=0 and j+q<len(matrix[0]):
if matrix[i+p][j+q]==1 and not (i+p,j+q) in visited_nodes:
print(i+p,j+q)
visited_nodes.append((i+p,j+q))
region_count+=1
dfs(matrix,i+p,j+q)
def connectedCell(matrix):
global region_count
global visited_nodes
max_count=0;
matrix_rows=len(matrix)
matrix_columns=len(matrix[0])
visited_nodes=[]
for i in range(matrix_rows):
for j in range(matrix_columns):
if matrix[i][j]==1 and not (i,j) in visited_nodes:
region_count=1
visited_nodes.append((i,j))
dfs(matrix,i,j)
print(f"{i}-{j} ===> {region_count}")
if region_count>max_count:
max_count=region_count
region_count=1
return max_count
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Connected Cells in a Grid
You are viewing a single comment's thread. Return to all comments →
visited_nodes=[] region_count=0 def dfs(matrix,i,j): global region_count
def connectedCell(matrix): global region_count global visited_nodes max_count=0; matrix_rows=len(matrix) matrix_columns=len(matrix[0]) visited_nodes=[] for i in range(matrix_rows): for j in range(matrix_columns): if matrix[i][j]==1 and not (i,j) in visited_nodes: region_count=1 visited_nodes.append((i,j)) dfs(matrix,i,j) print(f"{i}-{j} ===> {region_count}") if region_count>max_count: max_count=region_count region_count=1 return max_count