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