From e83ad930705baae7914a9ff4a7ceb1e71e82447d Mon Sep 17 00:00:00 2001 From: Lidenbrock-ed Date: Tue, 25 May 2021 15:15:12 -0500 Subject: [PATCH 1/2] solved Challenge! --- src/index.js | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 4101a36..eb594ad 100644 --- a/src/index.js +++ b/src/index.js @@ -4,7 +4,43 @@ * @returns {number[][]} */ const findNodesWithZeroAndOneParents = (parentChildPairs) => { - + let possibleParents = []; + let parents = []; + let childsWithOneParent = []; + let lastNumber = 0; + for (let i = 0; i < parentChildPairs.length; i++){ + if(parentChildPairs[i][0] != lastNumber){ + possibleParents.push(parentChildPairs[i][0]); + } + lastNumber = parentChildPairs[i][0]; + } + possibleParents.map(number =>{ + let counter = 0; + for(let i = 0; i< parentChildPairs.length; i++){ + if(number == parentChildPairs[i][1]){ + counter = 1; + } + } + if(counter == 0){ + parents.push(number); + } + }) + for(let i = 0; i { + return a - b; + }); + return [parents, childsWithOneParent]; } module.exports = findNodesWithZeroAndOneParents; \ No newline at end of file From f52c3845251be336a4aed62827579e42d4e5ec07 Mon Sep 17 00:00:00 2001 From: Lidenbrock-ed Date: Tue, 25 May 2021 18:40:26 -0500 Subject: [PATCH 2/2] refactoriced code --- src/index.js | 52 +++++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/index.js b/src/index.js index eb594ad..851e5e6 100644 --- a/src/index.js +++ b/src/index.js @@ -14,33 +14,39 @@ const findNodesWithZeroAndOneParents = (parentChildPairs) => { } lastNumber = parentChildPairs[i][0]; } - possibleParents.map(number =>{ - let counter = 0; - for(let i = 0; i< parentChildPairs.length; i++){ - if(number == parentChildPairs[i][1]){ - counter = 1; - } - } - if(counter == 0){ - parents.push(number); - } - }) + for (let i = 0; i < possibleParents.length; i++){ + let number = possibleParents[i] + nodeComparision({ + number: number, + equal: 0, + arrayPush: parents, + array: parentChildPairs + }) + } for(let i = 0; i { return a - b; }); - return [parents, childsWithOneParent]; + return [parents, childsWithOneParent]; +} +function nodeComparision({number: number, equal: equal, arrayPush: arrayPush, array: array}){ + let counter = 0; + for(let j = 0; j< array.length; j++){ + if(number == array[j][1]){ + counter++; + } + } + if(counter == equal){ + arrayPush.push(number); + } } - module.exports = findNodesWithZeroAndOneParents; \ No newline at end of file