关于从一个整数数组中求得最大的子整数组和

本文介绍了一种求解最大子数组和的简单方法,通过定义整数数组并利用数学公式得出子数组的数量,采用双重循环计算子数组的和,并使用冒泡排序找到最大和。此外还提及了一个未详细讨论的递归思路。

在课堂上,我和我的伙伴经过讨论,得到了一个最简单的方法。

      首先我们可以定义一个整数数组,a[n];n可以为任意正整数,然后我们又定义了子整数组和b[m],利用数学知识可以得到m=n*(n+1)/2;我们可以循环输入得到a[n],在这里,我们定义a[0]=b[0];然后,我们可以利用双重循环,b[i]=b[i-1]+a[i],这样我们得到了子整数数组和b[m],然后,我们利用冒泡排序法,可以得到最大的子整数组和,输出。

 

 

然后,因为老师说的那个时间复杂度为0的,实在没有想到,不过我们想到一个好方法,即把数组a[0]分为2个,然后可以得到最大的子整数组和在a[n/2]中或a[n/2...n]中在两个数组中,然后可以利用递归,当然这个我们因为时间问题,没有仔细考虑,只是想了想。

 

--组员:

20112832周亚豪  20112802姜立比

转载于:https://www.cnblogs.com/leejrove/p/3592829.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值