【发布时间】:2011-03-08 03:50:53
【问题描述】:
我正在尝试用 Java 编写一个程序,当给定一个 MxN 矩阵时,它将找到具有最大数字总和的(连续)子矩阵。然后程序需要返回子矩阵的左上角坐标和右下角坐标。矩阵可以包含负数,矩阵和子矩阵都不需要是方阵。
我看到这里讨论过这个问题:Getting the submatrix with maximum sum? 并且那里的解决方案似乎是 O(n^3)。我的一个朋友说他们曾经设法在 O(n^2) 中解决了这个问题。还建议here.可以吗?
是否有任何可用的代码以最有效的方式解决此问题?
【问题讨论】:
-
您使用 O(n^2) 解决方案链接到的第二个 SO 问题讨论了一个比您的问题更简单的问题。