為了證書,重新開始刷資料結構,原本也就是學的一知半解的,上來就給我來了乙個最大子串行和問題,搞得我很無奈,,,
貌似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,如果是全為負數,則返...