Number of Provinces (Leetcode 547)
Problem Link: https://leetcode.com/problems/number-of-provinces/
from collections import defaultdict
class Solution:
def findCircleNum(self, isConnected: List[List[int]]) -> int:
# Creation of Adj List
n=len(isConnected)
adj=defaultdict(list)
for i in range(n):
for j in range(n):
if(isConnected[i][j]==1):
adj[i+1].append(j+1)
# DFS
def dfs(idx, adj):
visited[idx]=1
for i in adj[idx]:
if(visited[i]==0):
dfs(i, adj)
# Code to find number of provinces
visited=[0 for i in range(n+1)]
count=0
for idx in range(1,n+1):
if(visited[idx]==0):
count+=1
dfs(idx,adj)
return count
Last updated