int maxsumofSubarray(vector<int>& arr) {
// max用来保存当前子数组的最大值
int sum = 0;
int max = 0;
//循环arr数组,e为每个元素的值
for(auto e: arr)
{
//sum用来保存每段子数组的总和
//如果小于0则没有必要再加上前面的值,直接从下一个重新开始计算
sum += e;
if(sum < 0)
sum = 0;
//判断是否大于最大值,如果大于则替换
if(sum > max)
max = sum;
}
return max;
}
子数组的最大累加和问题
最新推荐文章于 2025-04-03 22:01:10 发布