let arr = [1,5,62,5,23,-62,6,22,-2,-5];
let n = arr.length / 2;
function name(arr, n) {
let leftArr = [];
let rightArr = [];
let l = arr.length;
let total = arr.reduce((a, b) => a + b);
let min = Infinity;
function slice(ta, t, b = true, s = 0, dd = []) {
if (dd.length === t) {
if (b) {
leftArr.push(dd);
} else {
rightArr.push(dd);
}
}
for (let i = s; i < ta.length; i++) {
slice(ta, t, b, i + 1, dd.concat(ta[i]));
}
}
for (let j = 1; j < n; j++) {
slice(arr.slice(0, n), j, true);
slice(arr.slice(n, l), j, false);
}
for (let i = 0; i < leftArr.length; i++) {
const e = leftArr[i];
for (let j = 0; j < rightArr.length; j++) {
const e1 = rightArr[j];
if (e.length + e1.length === n) {
const temp = e.reduce((a, b) => a + b) + e1.reduce((a, b) => a + b);
min = Math.min(min, Math.abs(total - 2 * temp));
}
}
}
console.log(leftArr, rightArr, min);
}
name(arr.sort((a, b) => a - b), n);
``