简单明了的动态规划——连续子数组的最大和

连续子数组的最大和

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

简单的规划的习题,状态只需要跟前一个状态有关系,不需要dp Table直接变量存储,
时间复杂度O(n),空间复杂度O(1)
第一步:判断 当前数值array[i]和通过状态转移得到array[i]+max哪一个大
第二步:判断当前最大值和目前最大值,哪一个大

public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        int result =array[0];
        int max=array[0];
        for(int i=1;i<array.length;i++){
            max=Math.max(array[i],array[i]+max);
            result=Math.max(result,max);
        }
        return result;
    }
}
全部评论

相关推荐

昨天 20:43
西北大学 Java
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务