輸入乙個整形陣列,陣列裡有正數也有負數。
陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。
求所有子陣列的和的最大值。要求時間複雜度為o(n)。
例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2,
因此輸出為該子陣列的和18。
#include
using namespace std;
bool isinvalidinput=false;
int maxsumofsubarrays(int data,int length,int &start,int &end)
for(int i=0;i
else
if(cursum>max)
}return max;
}int main()
; //int data=;
int length=sizeof(data)/sizeof(int);
int start=0,end=0;
int result=maxsumofsubarrays(data,length,start,end);
cout<<"最大子陣列"cout}
求陣列中最大子陣列的和
本篇部落格介紹第二週課上小測 求陣列中最大子陣列的和,使用c 實現。1 include2 using namespace std 3int main 419 int ans 100000 20 再次遍歷,最大值即為最大子陣列的和 21for i 1 i n i 22 ans max ans,a i ...
求陣列最大子串行的和
題目 給出陣列,求子序列的最大和。分別用一下兩種方法解決。include 方法1 分治法 時間複雜度 o nlogn int max3 int num1 int num2 int num3 int maxsubsum int array,int start,int end middle start ...
最大子陣列和
問題描述 給定乙個整數陣列a 0 n 求陣列a的子陣列,使其元素和為最大。問題分析 方法一 可以用普通的方法列舉所有的子陣列,然後求出最大的子陣列和,時間複雜度為o n n 方法二 問題描述符合動態規劃最優子結構的要求。設b i 表示以a i 結尾的子陣列的最大子段和,即 b i max,其中0 j...