最大子列和問題

2021-08-09 02:56:32 字數 748 閱讀 9499

題目在這兒

#include

#define n 100000+10

int lis[n];

int main()

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

}return

0;}

題目鏈結

這個題目是英文的,讀題的時候也沒太仔細讀,就想當然以為輸出的第

二、三個數是子列的i、j下標了,正好樣例裡面給的和特別,下標和數字是一樣的。就一直不過,不知道為什麼。後來看了這個博主的部落格題解執行通過了然後檢查對比發現了不同,借鑑了他的flag標記法。

#include

#define n 100000+10

int lis[n];

int main()

thisnum+=lis[i];

if(thisnum>maxnum)

if(thisnum<0)

}if(has==0)//不存在正數的情況,輸出第乙個數和最後乙個數

printf("%d %d %d\n",maxnum,lis[0],lis[n-1]);

else

//存在正數的情況,輸出子列的第乙個和最後乙個數

printf("%d %d %d\n",maxnum,starti,endd);

}return

0;}

第一篇解題部落格,比較簡單。希望自己堅持下去,每天做1-2題寫寫部落格。學好資料結構和演算法。

最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...

最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...

最大子列和問題

給出乙個序列,求出最大子列和。演算法一 long maxsum int a,int n return maxsum 這是乙個窮舉的演算法,有三個巢狀的for迴圈,時間複雜度為o n 3 在計算的時候有很多不必要的重複項,例如當i 0,j 3時,和的計算為 a 1 a 2 a 3 當i 0,j 4時,...