关注
function maxSubSum(arr,left,right){ //console.log(right);
var leftMaxSum = rightMaxSum = 0;
//将这俩行代码放这里就会出错,是因为什么?
// var leftMaxBorderSum = rightMaxBorderSum = 0;
// var lefttemp = righttemp = 0;
if(left == right){
if(arr[left] > 0){
return arr[left];
}else{
return 0;
}
}
var center = Math.floor((left + right)/2);
var leftMaxSum = maxSubSum(arr,left,center);
var rightMaxSum = maxSubSum(arr,center+1,right);
//console.log(leftMaxBorderSum,rightMaxBorderSum);
//把代码放这里就不会出错,是因为什么?
var leftMaxBorderSum = rightMaxBorderSum = 0;
var lefttemp = righttemp = 0;
for(var i=center; i>=left; i--){
lefttemp += arr[i];
if(lefttemp >= leftMaxBorderSum){
leftMaxBorderSum = lefttemp;
}
}
for(var j=center+1; j<=right; j++){
righttemp += arr[j];
//console.log(j);
if(righttemp >= rightMaxBorderSum){
rightMaxBorderSum = righttemp;
}
}
console.log('['+left+','+right+']');
console.log(center+','+leftMaxSum+','+rightMaxSum+','+ (leftMaxBorderSum + rightMaxBorderSum));
return Math.max(leftMaxSum,rightMaxSum,(leftMaxBorderSum + rightMaxBorderSum));
}
var arr = [4,-3,5,-2,-1,2,6,-2];
console.log(maxSubSum(arr,0,7));
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-16 11:36
西北工业大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
868次浏览 17人参与
# 春节提前走,你用什么理由请假? #
1069次浏览 24人参与
# 春节前,你还在投简历吗? #
1974次浏览 32人参与
# 距离春招还有一个月,你现在是什么开局? #
1154次浏览 24人参与
# 牛客吐槽大会 #
30271次浏览 336人参与
# 聊聊Agent开发 #
3445次浏览 93人参与
# 推荐一个值得做的AI项目 #
1308次浏览 40人参与
# 暑期实习什么时候投? #
1606次浏览 34人参与
# 你认为哪个岗位找工作最卷 #
61628次浏览 249人参与
# 实习想申请秋招offer,能不能argue薪资 #
217760次浏览 1165人参与
# 硬件人的简历怎么写 #
325975次浏览 3079人参与
# 一份好的简历长什么样? #
24574次浏览 444人参与
# 如果重来一次你还会读研吗 #
220493次浏览 1994人参与
# 面试常问题系列 #
272861次浏览 4692人参与
# 你的mentor是什么样的人? #
52161次浏览 745人参与
# 刚入职就____,这样正常吗? #
127934次浏览 671人参与
# 职场破防瞬间 #
362242次浏览 2837人参与
# 用一句话形容你的团队氛围 #
38153次浏览 283人参与
# 你见过最离谱的招聘要求是什么? #
257143次浏览 1738人参与
# 校招入职后的感受 #
479832次浏览 3667人参与
