輸入乙個整形陣列。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。
int getsubarraysum
(int* pintarray,int ncount);
要求時間複雜度為o(n)
例如輸入的陣列為
1, -2, 3, 10, -4, 7, 2, -5
,和最大的子陣列為
3, 10, -4, 7, 2
,因此輸出為該子陣列的和
18華為oj上的這道題目與演算法導論中最大子串行求和略微不同,在這裡沒有規定如果陣列全為負數的話那麼我們就定義最大子串行和為0.
所以要先對這種情況加以判斷,然後在運用動態規劃裡的知識,在時間複雜度為n下進行運算.
完整**如下:
#include #include #include "oj.h"
/*功能:
輸入:pintarray:陣列,ncout:陣列長度
輸出:
返回:返回最大值
*/int getsubarraysum(int* pintarray, int ncount)
return maxsum;
}
求子陣列最大和
題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸出為該子陣列的和18。因為是o n 的複雜度,...
求子陣列的最大和
題目 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 本題最初為2005年浙江大學計算機系的考研題的最後一道程式設計題,在2006年裡包括google在內的很多知名公司都把本題當作面試題。由於本...
求子陣列的最大和
陣列 一 題目 感謝 提供的題目 求子陣列的最大和 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因此輸...