题解
简单的动态规划吧算是
还是比较简单的题目
首先计算sum的值,如果和的值大于0那么这一段的和就对后面那个数有用,否则,就重新从下一个数开始,然后取最大值。
代码
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
int ans = nums[0],sum = 0;
for(int i = 0; i < n; i++){
if(sum > 0){
sum = sum + nums[i];
}else{
sum = nums[i];
}
ans = max(ans , sum);
}
return ans;
}
};

本文介绍了一种求解最大子数组和问题的简单动态规划方法。通过计算累积和并维护一个最大值变量来更新答案,该算法可以高效地解决这个问题。文章提供了详细的算法思路及C++代码实现。
530

被折叠的 条评论
为什么被折叠?



