Я не очень понимаю, что такое сам алгоритм, у вас есть какие-то входы и соответствующие выходы?
исал функцию и вызвал другую функцию внутри, но мои тесты показывают, что она не оптимизирована по времени. Как я могу сделать следующий код быстрее?
function maxSum(arr, range) {
function sumAll(array1, myrange) {
var total = 0;
if (Array.isArray(myrange)) {
for (var i = myrange[0]; i <= myrange[1]; i++) {
total += array1[i];
}
return total;
} else return array1[myrange];
}
var mylist = [];
var l = range.length;
for (var n = 0; n < l; n++) {
mylist.push(sumAll(arr, range[n]));
}
return Math.max.apply(null, mylist);
}