LeetCode-053-最大子序和

題目描述:給定一個(gè)整數(shù)數(shù)組 nums ,找到一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。
示例說明請(qǐng)見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/maximum-subarray/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:動(dòng)態(tài)規(guī)劃
首先,初始化max和sum都為nums的第一個(gè)元素的值,然后從第2位開始遍歷數(shù)組:
當(dāng)
sum <= 0
時(shí),sum設(shè)置為當(dāng)前索引為的值,也就是拋棄之前累加的值;
sum > 0
時(shí),sum加上當(dāng)前索引位的值,累加;然后每次便利時(shí)max取max和sum的較大者。
最后,返回max即為最后結(jié)果。
【每日寄語】 在忙碌的日子里,要學(xué)會(huì)每天給自己找一個(gè)開心的理由,哪怕只是,陽(yáng)光很暖,電量很滿。
標(biāo)簽: