题目:返回一个整数数组中最大子数组的和。

要求:输入一个整形数组,数组里有正数也有负数。

数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

求所有子数组的和的最大值。要求时间复杂度为O(n)。

 

      刚拿到题目我们两个人没马上开始讨论,而是各自想了一些办法,比如通过数组每两个数结喝组成新的个体,通过正负判断,在对新生成的序列两两结组等办法,然后便经过交流最后找出了一种比较合理的方法我们通过一次遍历求和,对数组中的每一项都加到初始化的sum中,并在每新产生一个结果时都去记录这个结果找到最大的和,同时也就找到了第二次的扫描起点,在向两边做同样的工作,直至找到最大的和。

      本来我们各自想的方法都是不完善或者有缺陷的,总有自己容易忽略而导致无法发现的缺陷,但在经过交流后,由于两个人思维方式的的不同,总会发现对方不足的地方,从而让两个人都能取得进步,两个人的智慧总比一个人的智慧高的。