作业帮 > 综合 > 作业

给出一个数列,要求:找出一个连续的数列,它们的和最大,Pascal语言实现.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 13:06:39
给出一个数列,要求:找出一个连续的数列,它们的和最大,Pascal语言实现.
注意!
数列最多可能有1000000000(10亿)个数,说明只能用O(n)的时间复杂度.
是计算机的Pascal编程语言
此题明显是要用一维动态规划:
max:=0;
for i:=1 to n do begin
if a[i-1]>0 then {a的下标要从0开始,方便处理}
a[i]:=a[i]+a[i-1];
if a[i]>max then
max:=a[i];
end;
write(max);
我服了550626557,这题的确要用滚动存储,不过看我的就当学多一种方法吧……