标签: c++ algorithm dynamic-programming kadanes-algorithm
我有一个包含整数的数组A(正数,负数或零)。所以,我希望获得最大绝对范围总和(类似Kadane's algorithm,但具有绝对值)。 例如,让A为:
A
Kadane's algorithm
A = [-3, 2 ,-3, 1]
所以答案有4 abs(A[0] + A[1] + A[2]) = 4.
abs(A[0] + A[1] + A[2]) = 4.
我试图使用Kadane的算法找到解决方案,保持当前的最大总和,但似乎在某些情况下不起作用。有办法得到答案吗?
Expected time complexity: O(n*log(n))