题解 | 连续子数组的最大和

连续子数组的最大和

https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484?tpId=13&&tqId=11183&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

入门的动态规划问题:

public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        int len = array.length;
        int[] dp = new int[len];
        int max = array[0];
        dp[0] = array[0];
        for(int i = 1; i < len; i++) {
            int newMax = dp[i - 1] + array[i];
            if(newMax > array[i]) {
                dp[i] = newMax;
            } else {
                dp[i] = array[i]; // dp[i]取array[i]就已经超过了加上前面所有的值
            }
            if(dp[i] > max) {
                max = dp[i];
            }
        }
        return max;
    }
}
全部评论

相关推荐

01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务