整数数组中最大子数组的和有溢出如何处理

一.实验题目:

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

二.实验要求:

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

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

  要求程序必须能处理1000 个元素;,

  每个元素是int32 类型的;

求所有子数组的和的最大值。

三.实验思路:

这次的实验是在上次的基础上改进的,初看上去需要进步的地方不大,但是 仔细想起来,确实难度不小。处理1000个元素,很容易内存溢出;然后每 个元素是int32类型的,这很容易数据溢出。这次的实验着重的要解决这个 问题。

对于前一个处理1000个元素的问题,其实是没有想法的,不知道应该如何 去处理这个问题;

对于后者每个元素是int32 类型的,每次处理两个数相加的时候,后十六位 和后十六位相加,前十六位和前十六位相加并且加上后十六位相加的进位。四.实验总结:

这次的实验老师主要要求要把思路写出来,看到这道题的时候我们第一个想到的是张翠肖老师,因为以前我们在上计算机导论的时候,张老师就给我们出了一道题,让我们计算阶乘,如果n的值很大的话,我们应该如何去解决这个问题,想当初我们很天真地觉得老师轻视我们的智商,这么简单的问题用一个循环足可以解决所有的问题,但是真正的实践起来却并不是那样。。。

时至今日,我和队友又一次碰见了一样的问题,但是这次我们却是从一开始就是很沉重的心情,因为知道这个实验自己是做不来的,结果又碰见了,闹心的不是一点两点啊。

对于内存溢出,大神们想法是扩充机器的位数,还是不能实现的;

对于数据溢出,上面是有思路的,此处略掉很多字。。。

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。