最大連續子串行和 問題

2021-07-22 17:58:31 字數 1099 閱讀 2861

為了證書,重新開始刷資料結構,原本也就是學的一知半解的,上來就給我來了乙個最大子串行和問題,搞得我很無奈,,,

貌似hdu1003就是這個問題.

第一:重新定義乙個新的sum陣列,然後進行儲存連續子串行的和,遇到前面的加和sum[i-1]小於0,就直接讓sum[i]=a[i];

**:

#include #include #include #include #include using namespace std;

#define inf 0x3f3f3f3f

#define n 100010

int a[n],sum[n];

int main()

sum[1]=a[1];

for(i=2;i<=k;i++)

int max=-inf;

for(i=2;i<=k;i++)

{if(max

方法二 ,不用定義sum陣列,直接進行最大子串行和的查詢;

#include #include #include #include #include using namespace std;

#define inf 0x3f3f3f3f

int main()

{ int k,i,a,t,max; ///max用來存最大子串行和,t用來存前面的序列和相當於sum[i-1]吧。

scanf("%d",&k);

scanf("%d",&a);

max=t=a;

for(i=1;i

話說這道題放在了分析時間複雜度裡面,還是有很長的路要走啊!!!

還有半小時就中秋節了,5555555555

每逢佳節倍思親啊,中秋節快樂,我愛的人們.....

最大連續子串行和問題

第一次看 資料結構與演算法分析 c語言描述 這本書的時候,被書中一上來就給的最大子串行和問題給直接鎮住了。直觀感覺就是好難,好牛逼。問題描述 給定整數k1,k2,k3,kn,求從第i個數到第j個數的最大值。如果所有整數均為負數,那麼最大子串行和規定為0 根據題目描述,最直接的演算法就是窮舉所有的從i...

問題 A 最大連續子串行

問題 a 最大連續子串行 命題人 外部匯入 時間限制 1.000 sec 記憶體限制 32 mb 解決 493提交 1082統計 題目描述 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和為...

最大連續子串行和

最大連續子串行和問題是個很老的面試題了,最佳的解法是o n 複雜度,當然其中的一些小的地方還是有些值得注意的地方的。這裡還是總結三種常見的解法,重點關注最後一種o n 的解法即可。需要注意的是有些題目中的最大連續子串行和如果為負,則返回0 而本題目中的最大連續子串行和並不返回0,如果是全為負數,則返...