leetcode 53.最大子序和
生活随笔
收集整理的這篇文章主要介紹了
leetcode 53.最大子序和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
難度:簡單
頻率:159
題目
給定一個整數數組nums,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。
解題思路 :動態規劃(貪心)
解題方法:
1.對數組進行遍歷
2.有兩個值,一個是最大連續子序列和為sum[前連續序列和],結果為ans。
3.只看兩個數的情況下,如果第一個數是正數,那么肯定對后面有幫助。這個時候如果第二個數是正數,那么肯定會更大,如果是負數,就會變小。但是我們不去判斷第二個數,而是去判斷加了第二個數,跟最大值的比較。
4.如果大于最大值,則最大值變化,小于最大值,則最大值不變。
為什么要這么做呢? 比如說3 -2 5 雖然-2是負的,對現在它自己來說是負影響,但是-2+3=1,對后面的5來說確實正影響。
所以我們值判斷前面±,正的就加sum+=a[i]。負的就舍棄掉,sum=a[i]。
總結
以上是生活随笔為你收集整理的leetcode 53.最大子序和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 912.排序算法(快排
- 下一篇: Collection集合--ArrayL