思路:动态规划,对动态规划还是不敏感
关键在于状态的定义:
一种好理解的方式实现:
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int size = nums.size();
vector<int> dp(size, 0);
dp[0] = nums[0];
int max = nums[0];
for(int i = 1; i < size; i++)
{
if(dp[i-1] < 0) dp[i] = nums[i];
else dp[i] = dp[i-1]+nums[i];
max = max > dp[i]? max:dp[i];
}
return max;
}
};