方法一:dp。dp[i]表示以第i个数为结尾时,最大的子数组和
时间复杂度O(n),空间复杂度O(N)
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int size = nums.size(),max = INT32_MIN;
vector<int> vec(size);
vec[0] = nums[0];
max = vec[0];
for(int i = 1;i<size;i++){
vec[i] = ::max(nums[i],nums[i]+vec[i-1]);
max = ::max(max,vec[i]);
}
return max;
}
};