L
Size: a a a
m
L
L
m
L
m
m
m
m
L
L
const even = array.filter(v => v % 2 === 0).sort((a, b) => b - a); // filter - O(N), sort - O(N)
const odd = array.filter(v => v % 2 !== 0).sort((a, b) => a - b); // same
return array.map(v =>
v % 2 === 0
? even.shift()
: odd.shift()
); // map - O(N)
L
m
L
m
L
L
m