您的位置:首页 > 其它

有一个数组,让找到两个不重复的连续子序列A,B ,求Max(Sum(A)-Sum(B)。

2017-09-06 21:57 225 查看
有一个数组,让找到两个不重复的连续子序列A,B ,求Max(Sum(A)-Sum(B)。

int Maxsum(vector<int>&A)
{
int sum=0,ma=-10000;
vector<int>sumA;
vector<int>sumB;
for(int i=0;i<A.size();i++)
{
sum+=A[i];
ma=max(ma,sum);
sumA.push_back(ma);
if(sum<0)sum=0;
}
sum=0,ma=10000;
for(int i=A.size()-1;i>0;i++)
{
sum+=A[i];
ma=min(ma,sum);
sumB.push_back(ma);
}
int ans=-1000;
for(int i=0;i<A.size();i++)
ans=max(ans,sumA[i]-sumB[i+1]);
return ans;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐