最大子段和

连续子数组的最大和

http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484

简单DP,最大子段和。
以每一个数字为终点,都可以得到一个最大的子段和。
一般当前数字为终点,主要看它前一个节点上的最大子段和是不是为负数,如果为负数,则不与上一个节点相连,如果是正数就相连。
只需要关注以上一个记得点为终点的字段和是否大于零。

public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        int l = array.length;
        int[] mSumArr = new int[l];
        int max = array[0];
        for(int i=0;i<l;i++){
            if(i==0){
                mSumArr[i] = array[i];
            }else {
                if(mSumArr[i-1]>0){
                    mSumArr[i] = array[i]+mSumArr[i-1];
                }else {
                    mSumArr[i] = array[i];
                }
            }
            if(mSumArr[i]>max){
                max=mSumArr[i];
            }
        }
        return max;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
07-15 14:14
门头沟学院 Java
7.10投递7.15感谢信
投递地平线等公司7个岗位
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
万一背调了怎么办,这不就是毁了一个大学生嘛&nbsp;这帮人为了挣钱真是没有底线了
程序员小白条:最近牛客看到很多,还有牛友跟我私信,团伙组织了,属于是
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务