Задача: Массив [2, 5, 9, 11, 1, 2, 4]
X = 12
Найти подмассив, сумма элементов которого больше X, а количество элементов минимально возможное
Решение:
const find = (target, data, resultMas = [], sum = 0) => {
// случай если сумма чисел меньше target
if (!data.length) {
console.error('max value:!', sum);
return
}
const maxNum = Math.max.apply(Math, data);
const index = data.indexOf(maxNum);
resultMas.push(maxNum);
sum = resultMas.reduce((prev, next) => prev + next);
const test = sum > target;
if (test) {
return resultMas
} else {
data.splice(index, 1);
return find(target, data, resultMas, sum);
}
};
пример
Решение громоздкое, если есть варианты отпишите