Beautiful Array LeetCode solution in JavaScript

1
var beautifulArray = function (n) {
2
const EVEN = 1;
3
const ODD = 2;
4
let helper = (arr, flag) => {
5
if (arr.length <= 2) return arr;
6
let even, odd;
7
if (flag == ODD) arr = arr.map((el) => (el + 1) / 2);
8
else if (flag == EVEN) arr = arr.map((el) => el / 2);
9
even = helper(
10
arr.filter((el) => el % 2 === 0),
11
EVEN
12
);
13
odd = helper(
14
arr.filter((el) => el % 2 !== 0),
15
ODD
16
);
17
arr = even.concat(odd);
18
if (flag == ODD) arr = arr.map((el) => el * 2 - 1);
19
else if (flag == EVEN) arr = arr.map((el) => el * 2);
20
return arr;
21
};
22
let arr = new Array(n);
23
for (let i = 0; i < n; i++) arr[i] = i + 1;
24
return helper(arr);
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0