滑动窗口
给定数组中的连续子数组,使其和达到最大值,并记录该子数组的起始和结束索引。最后,将最大和及其起始和结束索引存储在数组当中。
const arr = [-1,-2,3,9,-4,8];let max = null;
let sum = null;let i=0,j=0;let length = arr.length;if(max === null || sum === null){max = arr[0];sum = 0;
}
let indexList = [];while(i<length){sum = 0;for(j=i;j<length;j++){sum += arr[j];if(sum >= max){max = sum;indexList.push({max,i,j});}}i++;
}console.log(indexList);
console.log(max