2 14 求子陣列之和的最大值

2021-06-09 12:13:41 字數 733 閱讀 1014

#include using namespace std;

int maxsum(int *src,int n,int &spos,int &epos)

else

if(start>all)

}return all;

}int max(int a, int b, int c)

else }

void toneg(int *src,int len)//整個陣列取反

}int ext1(int *src, int n)

cout

cout

tmp=maxsum(src,n,s,e);

tmp=-1*tmp;

sum3=sum1-tmp;//解是從陣列中刪掉一塊和為負數且絕對值最大的子陣列

cout

}int main()

;int s2=;

int s3=;

cout<<"s1 all:"

}

程式設計之美2 14求子陣列之和的最大值

分而治之的思想 divide and conquer includeusing namespace std int max int a,int b int maxsum int a,int low,int high includeusing namespace std int max int a,i...

程式設計之美2 14 求子陣列之和的最大值

問題描述 乙個有n個整數元素的一維陣列 a 0 a n 1 這個陣列當然有很多子陣列,那麼子陣列之和的最大值是多少呢?思路一 最直接能想到的方法就是列舉,暴力解法,複雜度為o n 2 思路二 遞迴解法,將陣列分成長度相等的兩段陣列,分別為a 0 a n 2 1 和a n 2 a n 1 分別求出最大...

2 14 子陣列之和的最大值

問題 求陣列的子陣列之和的最大值 解法一 遍歷 include include int maxsum int a,int n if sum maximum maximum sum return maximum int main printf d n maxsum array,5 return 0 解...