前端基础笔记——求连续子数组的最大和(简单递归)

一个非空整数数组,选择其中的两个位置,使得两个位置之间的数和最大。
如果最大的和为正数,则输出这个数;如果最大的和为负数或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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值