From 7da4f393b5e64a3ced878814fefd52bc3f7c7b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Andrea?= Date: Sun, 2 Aug 2020 11:37:46 -0500 Subject: [PATCH 1/2] ZeroAndOneParents Algorithm --- src/index.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 4101a36..5b4237b 100644 --- a/src/index.js +++ b/src/index.js @@ -4,7 +4,17 @@ * @returns {number[][]} */ const findNodesWithZeroAndOneParents = (parentChildPairs) => { - + const flatItems = parentChildPairs.flat(); + const uniqueItems = flatItems.filter((item, index) => flatItems.indexOf(item) == index) + const parentsCount = new Array(uniqueItems.length).fill(0); + parentChildPairs.map(pairs =>{ + parentsCount[uniqueItems.indexOf(pairs[1])]++; + }); + const result = [[],[]]; + parentsCount.map((count, index) => { + if(count < 2) result[count].push(uniqueItems[index]) + }); + return result; } module.exports = findNodesWithZeroAndOneParents; \ No newline at end of file From 5067e9aba4116da19812b4d42cbf82b413b131e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Andrea?= Date: Sun, 2 Aug 2020 16:13:26 -0500 Subject: [PATCH 2/2] ZeroAndOneParents algorithm --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index 5b4237b..a7e0d28 100644 --- a/src/index.js +++ b/src/index.js @@ -4,8 +4,8 @@ * @returns {number[][]} */ const findNodesWithZeroAndOneParents = (parentChildPairs) => { - const flatItems = parentChildPairs.flat(); - const uniqueItems = flatItems.filter((item, index) => flatItems.indexOf(item) == index) + let uniqueItems = parentChildPairs.flat(); + uniqueItems = uniqueItems.filter((item, index) => uniqueItems.indexOf(item) == index) const parentsCount = new Array(uniqueItems.length).fill(0); parentChildPairs.map(pairs =>{ parentsCount[uniqueItems.indexOf(pairs[1])]++;