From 00e4852f096c5a6d5647c1d688cdcd93268907b7 Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Fri, 15 Nov 2019 16:37:32 +0100 Subject: [PATCH] Anagram difference --- anagram-difference/index.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 anagram-difference/index.js diff --git a/anagram-difference/index.js b/anagram-difference/index.js new file mode 100644 index 0000000..065f4d8 --- /dev/null +++ b/anagram-difference/index.js @@ -0,0 +1,12 @@ +// https://www.codewars.com/kata/anagram-difference + +function anagramDifference([...a1], [...a2]) { + return a1.length + a2.length - intersection(a1, a2).length * 2; +} + +// https://gist.github.com/gkucmierz/8ee04544fa842411f7553ef66ac2fcf0 +const intersection = (a1, a2) => { + const cnt = new Map(); + a2.map(el => cnt[el] = el in cnt ? cnt[el] + 1 : 1); + return a1.filter(el => el in cnt && 0 < cnt[el]--); +};