闫氏dp 属性 max
集合划分 是否取上一个大于0的 区间
dp[i] = max(dp[i-1], 0) + nums[i];//如果上一项大于0的话 就可以选
class Solution {
public:
int maxSubArray(vector& nums) {
if(nums.size() == 0) {
return 0;
}
int dp[100010];
int ans = nums[0];
dp[0] = nums[0];
for(int i = 1; i < nums.size(); i ++) {
dp[i] = max(dp[i-1], 0) + nums[i];//如果上一项大于0的话 就可以选
ans = max(ans, dp[i]);
}
return ans;
}
};



