Maximum Subarray

问题:最大连续子窜和是多少
分析:动态规划,定义max记录最大值,sum记录以i结束的连续子窜的最大值

class Solution {
public:
    int maxSubArray(int A[], int n) {
        int sum;
        int MAX=A[0];
        sum=A[0];
        for(int i=1;i<n;i++)
        {
            if(sum+A[i]<A[i]) sum=A[i];
            else sum+=A[i];
            if(MAX<sum) MAX=sum;
        }
        return MAX;
    }
};

  

posted @ 2014-08-02 15:21  calmound  阅读(139)  评论(0编辑  收藏  举报