JSFiddle - React, Tailwind, and code Playground
by Paulpro
JavaScript
var A = [1,1,2,2,2,3,3,3,4,4];
var B = [1,2,1,1,2,3,4,4,3,4];
var Adj = [];
var visited = [];
var map = [];
for(var i = 0; i < A.length; i++){
visited[i] = false;
if(!Adj[A[i]])
Adj[A[i]] = [];
if(!Adj[B[i]])
Adj[B[i]] = [];
Adj[A[i]].push(B[i]);
Adj[B[i]].push(A[i]);
}
var block = 0;
for(i = 1; i < Adj.length; i++){
block++;
if(!visited[i])
lol(i);
}
function lol(u){
visited[u] = true;
for(i = 1; i < Adj.length; i++){
if(!visited[i]){
lol(Adj[i]);
map[i] = block;
}
}
}
console.log(map);