《Cracking the Coding Interview程式設計師面試金典》----最大連續數列和

塵封的記憶0發表於2017-05-03
時間限制:3秒 空間限制:32768K 熱度指數:980
本題知識點: 貪心
 演算法知識視訊講解

題目描述

對於一個有正有負的整數陣列,請找出總和最大的連續數列。

給定一個int陣列A和陣列大小n,請返回最大的連續數列的和。保證n的大小小於等於3000。

測試樣例:
[1,2,3,-6,1]

返回:6

思路:經典DP題目

程式碼如下:

class MaxSum {
public:
    int getMaxSum(vector<int> A, int n) {
		int dp0 = A[0], max = A[0];
        for(int i = 1; i < n; i++)
        {
            if(dp0 + A[i] > A[i])
                dp0 = dp0 + A[i];
            else
                dp0 = A[i];
            if(dp0 > max)
                max = dp0;
        }
        return max;
    }
};

不懂的可以加我的QQ群:261035036(IT程式設計師面試寶典

群) 歡迎你到來哦,看了博文給點腳印唄,謝謝啦~~


相關文章