利用动态规划
f[i]含义:以num[i]结尾的连续子数组的最大和
状态转移方程为:f[i] = max(0,f[i-1])+nums[i];
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int N = nums.size()+10;
int f[N];
for(int i=0;i<nums.size();i++){
f[i] = max(0,f[i-1])+nums[i];
}
int res = -1e+8;
for(int i=0;i<nums.size();i++){
res = max(res,f[i]);
}
return res;
}
};