【发布时间】:2013-06-10 14:45:33
【问题描述】:
Kadane 的算法 (http://en.wikipedia.org/wiki/Maximum_subarray_problem) 用于查找一维数字数组中连续子数组的最大和。
现在,如何使用它来找出具有相同最大和的此类序列的数量?可以对算法进行哪些修改来计算此类序列..
例如:
0 0 0 1 -> (largest sum = 1); 4 sequences { (0,0,0,1), (0,0,1), (0,1) , (1) }
0 0 0 -> (largest sum = 0); 6 sequences { (0,0,0), (0,0), (0,0), (0), (0), (0) }
2 0 -2 2 -> (largest sum = 2); 4 sequences { (2), (2,0), (2,0,-2, 2), (2) }
【问题讨论】:
-
@fvrghl : 你认为最后的输出是错误的
-
@arshajii : 不应该是 3,应该是 4
-
@arshajii: (2,0,-2,2) 是 2 + 0 + -2 + 2 = 2
-
@avmnusng:你为什么这么认为?
-
我编辑了最后一个输出
标签: algorithm kadanes-algorithm