博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
homework-01
阅读量:6976 次
发布时间:2019-06-27

本文共 293 字,大约阅读时间需要 1 分钟。

关于“最大子数组之和”问题,如果我们只是要求得最大的和,而不需要在乎子数组的内容的话,我们可以定义一个s[n]用来存放到n为止最大的子序列和,通过s[n]=max{s[n-1]+a[n],a[n]}(a[n]用来存放输入的数组),这样再取数组s中的最大值,则是我们需要的结果。

这样的算法,我们可以很容易分析出,对于数组a我们只需要扫描一遍就可以得到所需结果,所以时间复杂度为O(n)。同样,由于只使用额外的一个一元数组,空间复杂度也是O(n)。

测试共用四组数据,结果如下

转载于:https://www.cnblogs.com/hopeful31802/p/3330295.html

你可能感兴趣的文章
Python面向对象关系
查看>>
OpenCV学习(2)--基本数据结构
查看>>
C#写爬虫,版本V2.0
查看>>
03 弹性盒模型
查看>>
a前缀
查看>>
LeetCode第七天
查看>>
ORACLE存储过程 练习系列三 失效或者生效指定表的外键
查看>>
Android环境搭建(Windows)
查看>>
django 项目创建使用
查看>>
接口数据加密
查看>>
DevExpress之TreeList节点绑定图片
查看>>
OC分类(Category)
查看>>
BZOJ1206虚拟内存[hash]
查看>>
Docker Data Center系列(五)- 使用自定义的TLS安全认证
查看>>
julia生成指定格式的字符串.jl
查看>>
转:ActivityGroup + GridView 实现Tab分页标签
查看>>
作业5
查看>>
查缺补漏
查看>>
git 多人协作
查看>>
使用node 创建一个新项目
查看>>