环形数组的最大连续和

来源:互联网 发布:k线选股软件 编辑:程序博客网 时间:2024/06/05 19:34

给出一个长度为n的数组,这个数组构成一个环,要求求出最大的连续和是多少

结果只可能有两种:
一种是没有跨越边界的,即在本来的0到n-1个内求出最大值
另一种是将这些数变成其相反数,求一下这个相反数数组中的最大连续和,然后再用整个数组的和(没有变成相反数的数组)加上这个最大连续和,这样的结果就是一个跨越了边界的数组的最大连续和了,因为加上了一个最大连续和,就相当于在原数组上挖去了这段连续的子序列,因为数组是环的,所以剩下的和是符合条件的

0 0