Работа с массивом js
Есть массив из n элементов. Надо посчитать суммы всех комбинаций из k элементов этого массива.
Допустим есть массив
[0 , 1 , 2 ,3 , 4]
и к примеру надо посчитать суммы из 3x элементов этого массива -
[0,1,2] , [0,1,3] , [0,1,4]
и так далее и найти наибольшую из них. Как это оформить на языке js.
Ответы (1 шт):
Автор решения: teran
→ Ссылка
максимальная сумма достигается путем суммирования максимальных элементов. Следовательно, надо либо отсортировать массив и взять k-элемнтов (первых или последних в зависимости от порядка сортировки) и сложить их, либо что будет более эффективно на больших массивах - не сортировать, а просто найти k-максимумов.
const data = [1,-1,2,3,0,5],
k = 3;
let result = data.sort().slice(-k).reduce((acc,v) => acc+v, 0);
console.log(result);