求最大子数组的和,以及求该最大子数组的起始位置和末尾位置

博客探讨了如何在包含正负数的数组中找到最大子数组的和,并确定其起始和结束位置。举例说明,如{-1, 4, 6, -3, 7, -3, -3, 9},最大子数组是[4, 6, -3, 7, -3, -3, 9],和为17,起始位置为1,结束位置为7。" 134901865,14708418,天地一体化信息网络高速传输协议设计与关键技术,"['数据传输', '网络协议', '拥塞控制', '卫星通信', '协议设计']
摘要由CSDN通过智能技术生成

问题描述:

一个数组,长度为N,数组元素有负有正,如{-1, 4, 6, -3, 7, -3, -3, 9};我们可以清楚的知道最大的子数组应该是4到9,也就是下标1到下标7,和为17。

求解思路:

第一种方法:我们可以用定义1、两个数ThisSum和MaxSum来记录当前数组的和,以及数组的最大和。

2、我们可以用两个for循环来来遍历数组,每一次求出子数组的最大和,每个子数组从0开始,下一次遍历子数组就是从1开始,以此类推。如第一次就【0~N-1】的最大和,第二次就是【1~N-1】,第三次就是【2~N】。。。。

3、这样,每次用ThisSum来记录当前数组的和,MAXSum来记录当前子数组的最大和,与ThisSum比较,取其最大就能求出最大子数组的和。

4、还是看代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值