牛客網 連續最大和

2021-08-25 16:44:19 字數 720 閱讀 7575

題目描述

乙個陣列有 n 個元素,求連續子陣列的最大和。 例如:[-1,2,1],和最大的連續子陣列為[2,1],其和為 3

輸入描述:

輸入為兩行。 第一行乙個整數n(1 <= n <= 100000),表示一共有n個元素 第二行為n個數,即每個元素,每個整數都在32位int範圍內。以空格分隔。

輸出描述:

所有連續子陣列中和最大的值。

分析:使用動態規劃,二維會超時,故用一維dp[i],代表最後乙個數是a[i]的最大連續子串行和

dp[i] = max(dp[i-1] + a[i], a[i])

**如下:

n = int(raw_input())

a = map(int, raw_input().split())

min = 1- 2**32

dp = [min] * n

dp[0] = a[0]

for i in range(1,n):

dp[i] = max(dp[i-1] + a[i], a[i])

max = dp[0]

for i in range(n):

if(dp[i] > max):

max = dp[i]

print max

牛客網 連續子陣列的最大和

hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...

牛客網 連續子陣列的最大和

hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...

牛客網 連續子陣列的最大和

hz偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了 在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,並期望旁邊的正數會彌補它呢?例如 連續子向量的最大和為8 從第0個開始,到第...