From 0028fed09bcf16d79d371eaebe509ede4d55a684 Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Thu, 14 Nov 2019 13:12:09 +0100 Subject: [PATCH] Count the connected components --- count-the-connected-components/index.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 count-the-connected-components/index.js diff --git a/count-the-connected-components/index.js b/count-the-connected-components/index.js new file mode 100644 index 0000000..7cd5fc5 --- /dev/null +++ b/count-the-connected-components/index.js @@ -0,0 +1,13 @@ +// https://www.codewars.com/kata/count-the-connected-components + +const countDistricts = city => { + let distrCount = 0; + const distrMap = {}; + const markDistr = (place, distr) => { + if (place in distrMap) return; + distrMap[place] = distr; + city[place].map(place => markDistr(place, distr)); + }; + Object.keys(city).map((place, i) => markDistr(place, i)); + return new Set(Object.values(distrMap)).size; +};