algorithm – 子矩阵NxN矩阵和N非零值的最大和,仅O(N ^ 2)

假设你有一个N×N矩阵,其中每一行只有一个非零元素,每列只有一个非零元素(非零元素可以是正数或负数).我们想要找到最大和子矩阵.我们能有效地做到这一点吗?

矩阵具有N×N维度并且仅具有N个非零元素. N太大了,所以我不能使用O(N3)算法.有没有人知道如何在时间O(N2),O(N log N)或其他一些时间复杂度这样解决这个问题?

谢谢!

最佳答案 如果要查找最大和子矩形,可以使用此处描述的算法
maximum sum subrectangle in a sparse matrix在O(n ^ 2 log n)时间内完成.这胜过Kadane的算法,即O(n ^ 3).

点赞