42 連續子陣列的最大和

2021-10-02 14:38:07 字數 503 閱讀 6092

輸入乙個整型陣列,陣列裡有正數也有負數。陣列中的乙個或連續多個整數組成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為o(n)。

思路一:動態規劃:dp[i]的定義為以array[i]為結尾的連續子陣列的最大和。

public

intfindgreatestsumofsubarray

(int

array)

else

if(maxval)maxval=dp[i];}

return maxval;

}

思路二:思路一使用了額外的輔助空間dp陣列,其實可以直接記錄dp陣列的中間值從而完成整個過程。**如下:

public

intfindgreatestsumofsubarray

(int

array)

else

if(maxsum}return maxsum;

}

42 連續子陣列的最大和

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

42 連續子陣列的最大和

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

42 連續子陣列的最大和

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