Descripion:
给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,
Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,
例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和
为20。
在今年的数据结构考卷中,要求编写程序得到最大和,现在增加一个要求,即还需要输出该
子序列的第一个和最后一个元素。
output 最大连续子序列的和。
核心代码如下
int ans=0,now=0; for(int i=0;i<n;i++){ now+=a[i] ; if(now<0) now=0; else{ if(now>ans) ans=now; } }
时间: 2024-10-11 23:21:06