陣列的最大子串行之和

2021-08-08 18:27:33 字數 506 閱讀 8466

問題描述:求最大子串行之和一直是讓人困擾的問題,之所以困擾,主要是由於沒有想清楚該怎樣操作,下面給出一種最暴力的求解方法,利用多重迴圈來求解最大子串行和,每次對給定子序列求和,把它與剛開始設定的最大值進行計較,如果它大於設定的最大值,將它設定為最大值,記錄最大值的初始位置和終端位置,然後輸出就是最大子串行,同時,最大子串行的和也可求出來。

優點:思路簡單,程式設計方便。

缺點:時間複雜度為o(n^3)。

具體實現:

#include

int main(void)

;int i,j,k,sum,maxsum,start,end,m;

maxsum=a[0];

for(i=0;i<8;i++)

if(sum>maxsum)}}

printf("輸出最大子串行:");

for(m=start;m<=end;m++)

printf("\n最大子串行之和為:%d",maxsum);

最大子串行之和問題

最大子串行之和問題 這個問題非常有趣,因為有很多中演算法可以解決這個問題。而這些演算法的執行效率也多種多樣。下面我們將看到四種演算法,演算法複雜度從指數一直過渡到線性複雜度。充分體現了演算法的優劣對執行效率的影響。第一種 intmaxsubsum1 const vector a return max...

求最大子串行之和

摘要 給出乙個序列,求出其中連續的子串行中和最大的乙個。如 1 3 5 2 1 4 5 最大子串行之和是2 1 4 5 基本思路 最簡單的辦法就是遍歷一邊序列,用變數thissum記錄遍歷過的元素之和,當thisum 0時,繼續相加.若thisum 0,令thisum 0,吧下乙個元素作為新的子串行...

求最大子串行之和

今天一下午在看sharepoint了,又有活幹,所以時間比較緊湊,於是想起了前些日子寫的求最大子串行之和,作為每日一小題吧,暫做自我安慰吧。求最大子串行之和,主要要注意他的效率,1,演算法複雜度是o pow n,2 int max sub int a,int size return max 2,演算...