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