题目描述
首先INT_MAX
和INT_MIN
大家需要知道一下,就是int的最大值和最小值
代码:
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int ans = INT_MIN;
vector<int> dp(nums.size(), 0);
dp[0] = nums[0];
ans = max(ans, dp[0]);
for (int i = 1; i < nums.size(); ++i) {
dp[i] = dp[i - 1] > 0 ? (nums[i] + dp[i - 1]) : nums[i];
ans = max(ans, dp[i]);
}
return ans;
}
};