leetcode动态规划之连续最大子序列和

很经典的题目,当然以前做过,

这是我写的代码,好像不够简洁,后面给个更简洁的:

class Solution {
public:
    int maxSubArray(int A[], int n) {
        int flag=INT_MIN;
        int sum=0;
        int Max=0;
        for(int i=0;i=0)
       	    return Max;
        else
            return flag;
    }
};

最简洁的DP:

原理:

如果之前的连续和对于当前没有贡献,则抛弃前面的值:

class Solution {
public:
    int maxSubArray(int A[], int n) {
        int sum=0;
        int Max=INT_MIN;
        for(int i=0;i


你可能感兴趣的:(DP,leetcode)