返回一个二维整数数组最大联通子数组的和(思路)
返回一个二维整数数组最大联通子数组的和(思路)
题目:
输入一个二维整形数组,数组里有正数也有负数。
求所有子数组的和的最大值。
总体思路:
返回一个最大的二维联通子数组的思路总体上和二维首尾子数组相似,简单的二维数组的连接严格按照子数组的形式,所以每次的扩展都是一行加上一列,保证每次的结果都是一个小型的矩阵,但是本次的不同在于,每一次的扩展可以在最开始的基础上不要求行数或者列数,也就是最后的结果是一个不规则的图形,而不是一个标准的矩阵,所以可以在二维子矩阵的基础上,把扩展的方式改的更加灵活,即把每次扩张的方向不固定,只要向外部扩展的过程中能够使得总和增加,就可以继续扩张,相反,如果扩展的结果变小了,那么就选择其他的方向扩展,直至无论向哪个方向扩展都会使结果减少。