【发布时间】:2013-01-20 23:39:43
【问题描述】:
我目前正在阅读 Jon Bentley 的“Programming Pearls”,其中有一个我似乎无法回答的问题。这里是:
在最大子数组问题中,给定一个 nxn 实数数组,我们必须找到任何矩形子数组中包含的最大和。
在本章中,它列出了一种求数组最大值的算法:
maxsofar = 0
maxendinghere = 0
for i = [0, n) // n) = n-1
/*ivariant: maxendinghere 和 maxsofar 对于 x[0…i-1] 是准确的 */
maxendinghere = mac(maxendinghere + x[i], 0)
maxsofar = mac(maxsofar, maxendinghere)
我正在考虑您是否可以直接说以下内容
对于所有列
所有行
上面显示的算法
但我不确定这是否可行。有什么想法吗?
【问题讨论】:
标签: matrix dynamic-programming pseudocode