问题是:
在给定2D阵列[1:m,1:n]的情况下,我们必须找到最大和子阵列[a:b,c:d],其中1 <= a&lt; = b&lt; = m且1&lt; = c&lt; ; = d&lt; = n,使得数组的元素之和为(求和)A [i,j]其中a&lt; = i <= b且c <= j <= d时间复杂度O(mn min( m,n)log max(m,n))我想知道如何解决问题。我正在考虑以下内容 -
1)我将在每一行上使用Kadane的算法来查找从2x2矩阵的中间到右边和左边的每个元素的累积和
2)根据增加的顺序对右侧的总和进行排序
3)将左侧的每个元素映射到右侧的max元素,并选择具有最大值的行。
4)从2x2矩阵的中间向顶部和底部重复该过程(累积和)
5)对同一个
重复步骤2和36)合并两种方法获得的最大值,并将其作为最大和子阵列