码迷,mamicode.com
首页 > 编程语言 > 详细

算法第三章上机实践报告

时间:2019-10-20 17:34:50      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:灵活   循环   lang   报告   递归算法   最大子段和   bsp   实践   column   

7-2 最大子段和 (40 分)
 

给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。

要求算法的时间复杂度为O(n)。

输入格式:

输入有两行:

第一行是n值(1<=n<=10000);

第二行是n个整数。

输出格式:

输出最大子段和。

输入样例:

在这里给出一组输入。例如:

6
-2 11 -4 13 -5 -2

输出样例:

在这里给出相应的输出。例如:

20


时间复杂度:单重循环,0(N)
空间复杂度:用一个变量存储子段和再与最大的相比较,为O(N)。

心得:该题是对时间复杂度做出了要求。利用动态规划的方法优化了原本繁琐的递归算法,时间复杂度下降了许多,应灵活应对并优化自己的算法。

算法第三章上机实践报告

标签:灵活   循环   lang   报告   递归算法   最大子段和   bsp   实践   column   

原文地址:https://www.cnblogs.com/lqx739744996/p/11708115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!