最大连续数列和

题目描述

对于一个有正有负的整数数组,请找出总和最大的连续数列。

给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。

测试样例:
[1,2,3,-6,1]

返回:6

思路:动态规划法。设record[j]为以A[i]为结尾的最大连续数列和,然后求最大值。

class MaxSum {
public:
    int getMaxSum(vector A, int n) {
        // write code here
        vector record(n);
        int maxval=A[0];
        record[0]=A[0];
        for(int i=1;i
或者也可以省去不必要的空间存储:

class MaxSum {
public:
    int getMaxSum(vector A, int n) {
        // write code here
        int b=0,maxval=0;
        for(int i=0;i



你可能感兴趣的:(算法)