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

连续子数组的最大和

https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484

public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        int[] dp = new int[array.length];
        int max = array[0];
        dp[0] = array[0];

        for (int i = 1; i < array.length; i++) {
            // 动态规划,状态转移方程,确定dp[i]的最大值
            dp[i] = Math.max(dp[i - 1] + array[i], array[i]);
            // 每次比较,保存出现的最大值
            max = Math.max(max, dp[i]);
        }
        return max;
    }
}

解题思想:动态规划,以i为结尾的作为最大连续数组的最大值,逐个求出每个位置的最大值,遍历最后得到得到结果就是最大值。

#算法##算法笔记#
全部评论

相关推荐

06-26 19:47
中南大学 Java
悲,毕业了!这是个坏事儿啊!
爱睡觉的冰箱哥:《这是个好事啊》---峰哥浪走天涯
毕业后不工作的日子里我在...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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