leetcode每日一题:连续子数组额的最大和
第一次写法,调用了空间的数组
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
vector<int> res(n + 1);
res[0] = nums[0];
int maxn = res[0];
for (int i = 1; i < n; i ++ )
{
res[i] = max(res[i - 1] + nums[i], nums[i]);
maxn = max(maxn, res[i]);
}
return maxn;
}
};
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
int maxn = nums[0];
for (int i = 1; i < n; i ++ )
{
if(nums[i - 1] > 0)
nums[i] += nums[i - 1];
maxn = max(maxn, nums[i]);
}
return maxn;
}
};