最大子列和問題 貪心演算法

2021-10-03 05:14:44 字數 769 閱讀 4701

具體點這前往:戳我前往

抓住題目關鍵,子列和,於是一種暴力的解題方法就此出現,沒錯,遍歷所有的子列找出當中和最大的。

遍歷子列的關鍵就是,假設乙個子列的左端點不動,一直移動右端點,在這個過程中,不斷的更新最大的子列和,直到遍歷完所有的子列。

int main()}}

return max;

}

要注意一點的就是,每次開始移動左端點,就要重置temp為0。

完美通過:

雖然通過了,但最後乙個測試點的耗時還是太長了。

於是開始對這個方法進行改進。

發現在求子列和的最大值的時候,如果當前計算的子列和是負數,那麼對於新加入的元素的話,只會越加越少,這時,我們就可以重置temp,重新開始計算當前子列,相當於不斷更新,而且max中,已經儲存了之前的最大值,就能不需要考慮是否之前的還是更大的問題。

完美解決問題。

leetcode 貪心 貪心演算法 最大子序和

通知 我將演算法學習相關的資料已經整理到了github 裡面還有leetcode刷題攻略 各個型別經典題目刷題順序 思維導圖看一看一定會有所收穫,如果給你有幫助給乙個star支援一下!給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1...

演算法 最大子列和問題

浙江大學 資料結構 思考題 每週練習答案彙總 題目 給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況...

最大子列和問題

給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。輸入格式 輸入第1行給出正整數 k 100000 第2行給出k個整數,其間以空格分隔。輸出格式...