求连续子数组中最大和实例
程序员文章站
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));