数组最大连续和

给一个数组, 其中元素有正有负, 求数组的连续最大和.

最直观的暴力法可解. 但不可行. 用两个数记录当前和以及当前最大值, 当当前和《=0时, 将当前和重置.

int maxSubArray(vector<int>& nums) {
    if(nums.size()==0)
        return 0;
    if(nums.size()==1)
        return nums[1];
    int max_v = INT32_MIN;
    int cur_sum=0;
    for(int v: nums){
        if(cur_sum<=0)
            cur_sum=v;
        else{
            cur_sum+=v;
        }
        if(cur_sum>max_v)
            max_v=cur_sum;
    }
    return max_v;
}