function getCombination1(arr, n) {
const sortedArr = arr.filter(x => x <= n).sort((a, b) => a - b);
const results = [];
const part = [];
let sum = 0;
if (!sortedArr.length || sortedArr[0] > n) {
return results;
}
sortedArr.push(n + 1);
const mapFn = i => sortedArr[i];
for(let i = 0; i < sortedArr.length; i++) {
sum += sortedArr[i];
if (sum > n) {
const last = part.pop();
sum = sum - sortedArr[i] - sortedArr[last];
i = last;
} else {
part.push(i);
if (sum === n) {
results.push(part.map(mapFn));
}
}
}
return results;
}
надо было в одном файле это делать, все компоненты там объединять
может быть нужно сделать до 7 поворотов.не более 4
судя по прошлым задачам от автора - это какой-то курс и они сейчас bfs проходят
но оказывается надо еще сделать штуку которая выводит последовательность
1000х1000
второй конь бфс2,
if (abs(x1 - x2) % 2 != abs(y1 - y1) % 2) return -1; // разные цвета
не хватает кучи вариантов.
да, кстати, в сортировке надо указывать функцию сравнения. Сейчас сортирует по алфавиту.