From 425a0cf1fc45f55d7f8f0857c02eff3e41e0275b Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Sun, 26 Jan 2020 14:50:42 +0100 Subject: [PATCH] Mirrored Exponential Chunks --- mirrored-exponential-chunks/index.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 mirrored-exponential-chunks/index.js diff --git a/mirrored-exponential-chunks/index.js b/mirrored-exponential-chunks/index.js new file mode 100644 index 0000000..ff1bbb0 --- /dev/null +++ b/mirrored-exponential-chunks/index.js @@ -0,0 +1,16 @@ +// https://www.codewars.com/kata/5852d0d463adbd39670000a1/javascript + +function mirroredExponentialChunks(arr) { + const len = arr.length; + const left = arr.slice(0, len/2); + const right = arr.slice((len+1)/2); + const res = len % 2 === 1 ? [[arr[(len-1)/2]]] : []; + + for (let i = 1; left.length; ++i) { + res.unshift(left.splice(-(2**i))); + } + for (let i = 1; right.length; ++i) { + res.push(right.splice(0, 2**i)); + } + return res; +}