LeetCode-Maximum Subarray-最大子串和-逻辑

https://oj.leetcode.com/problems/maximum-subarray/

一直累加子串并求最大。当子串小于0时就抛弃掉,这样总能找到最大的那个子串和。

class Solution {
public:
    int maxSubArray(int A[], int n) {
        int cur=-1;
        int res=numeric_limits<int>::min();
        for(int i=0;i<n;i++) {
            if (cur<0) {
                cur=A[i];
            }
            else{
                cur+=A[i];
            }
            res=max(res,cur);
        }
        return res;
    }
};

 

posted @ 2014-10-19 01:34  zombies  阅读(154)  评论(0编辑  收藏  举报