【LeetCode】最大子列和问题(53 Maximum Subarray)
Contents
最近在学习一些常用的经典算法,比较经典的一个问题就是给定一个序列,求连续子列的最大和。
用数学语言描述如下:
给定序列
[-2,1,-3,4,-1,2,1,-5,4]
计算出: $$max([0,…, \sum A_k])$$
LeetCode 链接 Maximum Subarray
这个问题使用在线最优化求解(Online Optimization)算法是效率最高的,只需要维护两个变量,一次循环就可以完成。
|
|
下面是运行结果:
可见这是执行效率比较高的解法,时间复杂度为O(n),但是 LeetCode 还推荐去练习另一种分而治之的解决办法,应该是类似二分法。有时间再去实现下。
Author
LastMod 2016-02-14