題目:
給定k個整數組成的序列,「連續子列」被定義為,其中 1≤i≤j≤k。「最大子列和」則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。
本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下:
資料1:與樣例等價,測試基本正確性;
資料2:102個隨機整數;
資料3:103個隨機整數;
資料4:104個隨機整數;
資料5:105個隨機整數;
輸入格式:
輸入第1行給出正整數k (≤100000);第2行給出k個整數,其間以空格分隔。
輸出格式:
在一行中輸出最大子列和。如果序列中所有整數皆為負數,則輸出0。
輸入樣例:
6-2 11 -4 13 -5 -2
輸出樣例:
20思路:
對最大值影響最關鍵的就是負數,而這個題就是需要對負數進行詳細考慮。對序列進行連續加法,當加法和為負數時,下乙個數無論何值,負數都會使得這個數值變小。因此本題思路就是從序列開頭開始進行連續加法運算,當和為負數則捨棄運算和,從下乙個數開始重新進行連續加法。
**:
#includeint main()
; int sum=0,maxsum=0;
scanf("%d",&num);
for(int i=0;imaxsum)
maxsum=sum;
else if(sum<0)
sum=0;
}printf("%d",maxsum);
}
7 1 最大子列和問題 20 分
給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 與樣例等價,...
7 1 最大子列和問題 20分
7 1 最大子列和問題 20分 給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資...
7 1 最大子列和問題 20分
給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第1行給出正整數...