一个非空整数数组,选择其中的两个位置,使得两个位置之间的数和最大。
如果最大的和为正数,则输出这个数;如果最大的和为负数或0,则输出0
var arr=readline().split(',').map(Number);
var len=arr.length;
var max=0;
// 第一层是窗口大小,第二层是起始索引
for(var i=1;i<=len;i++){
for(var j=0;j<=len-i;j++){
if(i>1){
var tem=arr.slice(j,j+i).reduce((a,b)=>{
return a+b
})
}else{
var tem=arr[j]
}
max=tem>max?tem:max;
}
}
console.log(max)
前端基础笔记——求连续子数组的最大和(简单递归)
最新推荐文章于 2023-02-10 10:54:49 发布