二维数组

题目:

    返回一个二维整数数组中最大子数组的和。

要求:

   1. 输入一个二维整形数组,数组里有正数也有负数。 求所有子数组的和的最大值。要求时间复杂度为O(n)。    

   2.程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是: 数组的行数, 数组的列数, 每一行的元素, (用逗号分开) 每一个数字都是有符号32位整数,当然,行数和列数都是正整数。

思路:

这道题自己没有什么思路最开始做的时候,于是从网上借鉴了一个,然后基本了解了这样一个大概思路:

     矩阵中的数可能正有负,所以要首先判断二维数组中哪些位置上的数是正数,利用另一个二维数组记录正数的位置,然后判断哪些数是连通的,计算每个连通块的数值的和,然后再连通不同的块,计算其和,最后比较其中的最大值,即为二维整数数组中最大连通子数组的和。

 

posted @ 2019-03-17 20:18  云破月来花弄影  阅读(123)  评论(0编辑  收藏  举报