假设原二维矩阵的最大子矩阵所在行是从i到j,那么只会出现下面这2种情况: 当i=j时,求最大子矩阵和就转换成了求第i行元素的最大连续子序列和。 当i!=j时,将第i行到第j行的所有行的元素累加起来,得到只有一行的一维数组,这个一维数组的最大连续子序列和,便是最大子矩阵和。 只需要从小到大枚举并依次遍历i和j,并且记录当前最大子矩阵和,即可求得最大子矩阵和。 当i!=j时,可以使用一个辅助二维矩阵,记录原始矩阵从上到下累加起来的累加矩阵,于是求从第i行到第j行的一维数组时,只需要将辅助矩阵进行一行减法便可得到,而不需要逐行进行多次累加。 import ja...