根据求最大子列和的在线处理算法即可。
#include<stdio.h>
int main()
{
int n;
int array[100005];
int ThisSum=0,MaxSum=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&array[i]);
}
for(int i=0;i<n;i++)
{
ThisSum += array[i];
if(ThisSum>MaxSum){
MaxSum = ThisSum;
}
if(ThisSum < 0){
ThisSum = 0;
}
}
printf("%d",MaxSum);
}
本文介绍了一个用于求解最大子列和的经典算法实现。通过扫描整个数组并动态更新当前子列和与最大子列和,该算法能高效地找到数组中具有最大和的连续子列。
613

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



