(一)题目描述
(二)思想方法
动态规划:
dp[i] = max{num[i],dp[i-1] + num[i]}
(三)代码实现
class Solution {
public:
int maxSubArray(vector<int>& nums)
{ int l = nums.size();
if (l == 0) {
return 0;
}
vector<int> dp(l);
dp[0] = nums[0];
for (int i = 1; i < l; i++)
{
dp[i] = max(nums[i], dp[i - 1] + nums[i]);
}
auto max = max_element(dp.begin(), dp.end());
return *max;
}
};