欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

求连续子数组中最大和实例

程序员文章站 2022-08-05 21:33:04
求连续子数组中最大和 遍历数组,遇到负的和则放弃之前的结果,重新积累,这期间保留最大值 用max记录最终返回的最大和,用curmax记录累加值 对于数值中一个数arr[i],若其左边的累加和非负,那...

求连续子数组中最大和

遍历数组,遇到负的和则放弃之前的结果,重新积累,这期间保留最大值

用max记录最终返回的最大和,用curmax记录累加值

对于数值中一个数arr[i],若其左边的累加和非负,那么加上arr[i]

判断此时的curmax是否大于max,若大于此时的max,则用max记录下来

function findgreatesum(arr){

var len=arr.length;

var curmax=0;

var max=0;

var start=0;

var end=0;

//数组中正负数都有

for(var i=0;imax){

max=curmax;

}

}

if(start>=end){

start--;

}

return max;

}

var arr=[2,4,-7,5,2,-1,2,-4]

console.log(findgreatesum(arr));