关注
public class Solution {
public static int FindGreatestSumOfSubArray(int[] array) {
int maxCur = 0; // 保存返回的结果
if(array.length == 0){
return 0;
}else { // -2,-8,-1,-5,-9 解决全为负数的时候,maxCur不能为0 的问题 ****修改1*******
maxCur = array[0];
}
//
int totalNum = maxCur; // 保存从某个位置为起点累加所有的数,得到的和
for(int i=1; i<array.length; i++){
// 最大连续子序列的和不一定从第一个元素开始算起
// 当前面的数之和小于当前元素,当前最大值取“下一个元素”与“原最大值”之间的较大者
// ---------------------------------------------------
if(totalNum < 0){ // ****修改2*******
maxCur = Math.max(array[i], maxCur);
totalNum = array[i]; // 只要原起点到当前位置的数字和小于0,就更新totalNum,即更新起点
}else{
totalNum += array[i];
if(totalNum > maxCur){ // 最新的起点到当前位置的和>原来的最大值时,更新最大值
maxCur = totalNum;
}
}
// ----------------------------------------------------
}
return maxCur;
}
/**
public static void main(String[] args) {
int result = FindGreatestSumOfSubArray(new int[]{1,2,3,4,5}); // -2,-8,-1,-5,-9 // 1,-2,3,4,5,6,-20,8
System.out.println(result);
}
*/
}
点赞
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
240674次浏览 2051人参与
# 实习,投递多份简历没人回复怎么办 #
2447742次浏览 34795人参与
# 北方华创开奖 #
67979次浏览 558人参与
# 25届秋招总结 #
425366次浏览 4296人参与
# 虾皮求职进展汇总 #
100577次浏览 810人参与
# 地方国企笔面经互助 #
7377次浏览 18人参与
# 阿里云管培生offer #
65407次浏览 1766人参与
# ai智能作图 #
35502次浏览 434人参与
# 中兴求职进展汇总 #
471132次浏览 2453人参与
# 我在牛爱网找对象 #
75235次浏览 556人参与
# 双非有机会进大厂吗 #
106181次浏览 1333人参与
# 实习想申请秋招offer,能不能argue薪资 #
37985次浏览 313人参与
# 机械求职避坑tips #
24214次浏览 252人参与
# 发工资后,你做的第一件事是什么 #
10623次浏览 52人参与
# 25届机械人为了秋招做了哪些准备? #
26803次浏览 366人参与
# 投格力的你,拿到offer了吗? #
47881次浏览 337人参与
# 我的实习求职记录 #
6145301次浏览 84084人参与
# 投递实习岗位前的准备 #
1193752次浏览 18510人参与
# 机械人怎么评价今年的华为 #
158483次浏览 1354人参与
# 在职场上,你最讨厌什么样的同事 #
6477次浏览 96人参与
# 实习与准备秋招该如何平衡 #
726031次浏览 8568人参与
# 华为工作体验 #
112497次浏览 871人参与