7 1 最大子列和問題 20分

2021-10-10 14:51:36 字數 1486 閱讀 3216

給定k個整數組成的序列,「連續子列」被定義為,其中 1≤i≤j≤k。「最大子列和」則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。

本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下:

輸入第1行給出正整數k (≤100000);第2行給出k個整數,其間以空格分隔。

在一行中輸出最大子列和。如果序列中所有整數皆為負數,則輸出0。

6

-2 11 -4 13 -5 -2

20
思路轉移方程: 若 dp[

i−1]

≤0dp[i−1]≤0

dp[i−1

]≤0 ,說明 dp[

i−1]

dp[i−1]

dp[i−1

] 對 dp[

i]dp[i]

dp[i

] 產生負貢獻,即 dp[

i−1]

+num

s[i]

dp[i−1]+nums[i]

dp[i−1

]+nu

ms[i

] 還不如 num

s[i]

nums[i]

nums[i

] 本身大。

初始狀態:dp[

0]=n

ums[

0]dp[0]=nums[0]

dp[0]=

nums

[0] ,即以 num

s[0]

nums[0]

nums[0

] 結尾的連續子陣列最大和為 num

s[0]

nums[0]

nums[0

] 。返回值: 返回 dpdp

dp列表中的最大值,代表全域性最大值。

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行給出正整數...