关注
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));
查看原帖
点赞 评论
相关推荐
07-08 20:34
宁夏理工学院 软件测试 点赞 评论 收藏
分享
求职的纳鲁多:我勒个高三后续

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你遇到最难的面试题目是_ #
14168次浏览 188人参与
# 反问环节如何提问 #
95372次浏览 1949人参与
# 中兴秋招 #
202900次浏览 2272人参与
# 简历上的经历如何包装 #
22669次浏览 702人参与
# 如何看待offer收割机的行为 #
814935次浏览 6081人参与
# 你最讨厌面试问你什么? #
23868次浏览 271人参与
# 秋招最大的收获是什么? #
38541次浏览 322人参与
# 我的实习收获 #
90763次浏览 1038人参与
# 26届的你,投了哪些公司? #
35280次浏览 420人参与
# 我对___祛魅了 #
42058次浏览 400人参与
# 数字马力求职进展汇总 #
184379次浏览 1500人参与
# 你跟室友的关系怎么样? #
5823次浏览 94人参与
# 什么样的背景能拿SSP? #
29702次浏览 191人参与
# 工作中哪个瞬间让你想离职 #
59974次浏览 540人参与
# 和同事相处最忌讳的是__ #
20493次浏览 213人参与
# 去年你投递实习了吗? #
22836次浏览 331人参与
# 如何快速融入团队? #
14468次浏览 176人参与
# 滴滴求职进展汇总 #
233093次浏览 2116人参与
# 不考虑转正,实习多久合适 #
38015次浏览 181人参与
# 机械人的金三校招总结 #
36139次浏览 461人参与
# 初创公司值得加入吗? #
27236次浏览 194人参与