JS 子数组的最大累加和问题
给定一个数组arr,返回子数组的最大累加和
例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.
题目保证没有全为负数的数据
function maxsumofSubarray( arr ) {
// write code here
//设置一个变量max储存全局最大值
var max = 0;
//value用来储存当前的和
var value = 0;
for(var i=0;i<arr.length;i++){
//循环数组 依次往里面加 放入value中
value += arr[i];
//如果相加的值小于0 则清空重置为0
if(value<0){
value=0;
}else if(value>max){
//如果此时相加的 比之前放入max的数要大就更新max
max=value;
}
}
return max;
}
module.exports = {
maxsumofSubarray : maxsumofSubarray
};