关注
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));
查看原帖
点赞 评论
相关推荐
10-17 12:31
重庆交通大学 技术支持工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 上班到公司第一件事做什么? #
111443次浏览 764人参与
# 工作两年想退休了 #
205581次浏览 1822人参与
# 七夕节你打算怎么过? #
69313次浏览 800人参与
# 运营面经 #
146308次浏览 1323人参与
# 参加过提前批的机械人,你们还参加秋招么 #
103973次浏览 1641人参与
# 如果公司降薪,你会跳槽吗? #
112626次浏览 729人参与
# 蚂蚁求职进展汇总 #
138978次浏览 1224人参与
# 运营商笔面经互助 #
189538次浏览 1795人参与
# 找工作能把i人逼成什么样 #
16825次浏览 192人参与
# 四大天坑是哪四家? #
91691次浏览 231人参与
# 网易求职进展汇总 #
169593次浏览 1414人参与
# 大厂面试初体验 #
84102次浏览 385人参与
# 什么样的公司千万别去 #
28603次浏览 151人参与
# 业务面应该做哪些准备 #
79502次浏览 814人参与
# 你今年做了几份实习? #
11417次浏览 165人参与
# 通信/硬件公司求职体验 #
178842次浏览 1025人参与
# 大学最后一个寒假,我想…… #
72712次浏览 730人参与
# 金三银四,你有感觉到吗 #
663556次浏览 6032人参与
# 大家每天通勤多久? #
64809次浏览 416人参与
# 一起聊华为 #
169437次浏览 826人参与

