JSFiddle - React, Tailwind, and code Playground

by jayakrishnancn

TypeScript

function countPairs(n: number, edges: number[][]): number {

    const visited = []; 
    const adj = [];
    
    for(let i=0;i<n;i++){
        if(!edges[i]) continue;
        let a = edges[i][0], b = edges[i][1];
        if(!adj[a]){
            adj[a] = [];
        }
        adj[a].push(b);
        if(!adj[b]){
            adj[b] = [];
        }
        adj[b].push(a);
    }
    
    function dfs(v){
        visited[v] = true;
        if(!adj[v]) return;
        for(let i of adj[v]){
            if(!visited[i]){
                dfs(i)
            }
        }  
    }    
    
    console.log(adj, visited)
    
    dfs(0);
    
    console.log(visited)
    
    let count = 0;
    
    for(let i=0; i<n;i++){
        if(!visited[i]){
            count++;
        }
    }
    
    return count;
    
    
};

console.log(countPairs(7,[[0,2],[0,5],[2,4],[1,6],[5,4]]));