126. 最大的和【思维 前缀和】
生活随笔
收集整理的這篇文章主要介紹了
126. 最大的和【思维 前缀和】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
很容易的想到,用二維前綴和,暴力的4層for枚舉左上角和右下角的下標。
這樣肯定會超時。
我們不妨先考慮一維的情況,一個數(shù)組,如何求最大的矩形。
這是一個很簡單的DP
f[i]=max(f[i-1],0)+a[i] f[i] 表示以i結(jié)尾的最大值 最后以所有結(jié)尾的取一個max就是結(jié)果
這時候我們就可以借助列的前綴和,我們通過枚舉上下邊界,
將一個個等高列的矩陣當成一個屬數(shù),這樣就可以按照剛才一維的方法求解。
此時是3層的for,降了一維 。
總結(jié)
以上是生活随笔為你收集整理的126. 最大的和【思维 前缀和】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 116. 飞行员兄弟【二进制枚举】
- 下一篇: 145. 超市【小根堆 贪心】