Max contiguous sum
JavaScript
function maxContiguousSum(arr) {
let length = arr.length;
let maxSoFar = Number.MIN_SAFE_INTEGER;
let maxEndingHere = 0;
for (let i= 0; i < length; i++) {
maxEndingHere += arr[i];
if (maxSoFar < maxEndingHere) {
maxSoFar = maxEndingHere;
}
if (maxEndingHere < 0) {
maxEndingHere = 0;
}
}
return maxSoFar;
}
alert(maxContiguousSum([-2, -3, -4, -10, -1, -10, -5, -3]));