瞬間求解最大連續和

2021-06-05 15:49:50 字數 949 閱讀 6412

已知一組整數資料 a1,a2,a3,a4,a5,a6.....an ,並返回最大連續和。

先給出最極品的演算法:

#include#include#include#includeconst int maxn=10000;

int a[maxn],s[maxn];

int main()

printf("min_s=%d\n",min_s);

printf("n=%d tot=%d\n",n,tot);

printf("%d\n",best);

return 0;

}

剩下的由高效到低效排序如下:

#include#include#include#includeconst int maxn=10000;

int a[maxn],tot;

int maxsum(int *a,int x,int y)//在[x,y)左閉右開區間中求最大連續和

int main()

printf("n=%d tot=%d\n",n,tot);

printf("%d\n",best);

return 0;

}

o(n*n*n):

#include#include#include#includeconst int maxn=30;

int a[maxn];

int main()

printf("n=%d tot=%d\n",n,tot);

printf("%d\n",best);

printf("time used=%.2lf\n",(double)clock()/clocks_per_sec);

return 0;

}

求解最大連續子串行和問題

解法1 maxsubsum1 a,n 演算法中用三重迴圈來窮舉所有的連續子串行,計算它們的和,時間複雜度為t n o n 3 1 long maxsubsum1 int a,intn 2 14if thissum maxsum maxsum thissum 15 16 17return maxsum...

最大連續和

這個問題對我來說還挺難的,當初做dp時水過去了,但沒徹底理解,這次打算好好分析一下,爭取徹底搞懂。首先,像 1 1 2 2 3 3 4 4 5 5這樣的數列,想要找連續最大和,可以有很多種方法,從最慢的列舉o n 3 到最快的動態規劃o n 毫無疑問,我們要選擇複雜度低的演算法。所以我這裡就只分析兩...

最大連續和

求陣列中數的最大連續和,如 1,1,1,1,1 最大連續和為3 一 動態規劃 當我們從頭到尾遍歷這個陣列的時候,對於陣列裡的乙個整數,它有幾種選擇呢?它只有兩種選擇 1 加入之前的subarray 2.自己另起乙個subarray。那什麼時候會出現這兩種情況呢?設狀態為f j 表示以s j 結尾的最...