假设你有一个N×N矩阵,其中每一行只有一个非零元素,每列只有一个非零元素(非零元素可以是正数或负数)。我们想要找到最大和子矩阵。我们能有效地做到这一点吗?
矩阵具有N×N维度并且仅具有N个非零元素。 N太大了,所以我不能使用O(N 3 )算法。有没有人知道如何在时间O(N 2 ),O(N log N)或其他一些时间复杂度这样解决这个问题?
谢谢!
答案 0 :(得分:2)
如果要查找最大和子矩形,可以使用此处描述的算法maximum sum subrectangle in a sparse matrix在O(n ^ 2 log n)时间内完成。这胜过Kadane的算法,即O(n ^ 3)。