天天看點

【LeetCode】NO.53. 最大子數組和 (C++ & Python) [貪心算法]

貪心算法第二彈!!!

給你一個整數數組 nums ,請你找出一個具有最大和的連續子數組(子數組最少包含一個元素),傳回其最大和。

子數組 是數組中的一個連續部分。

示例 1:

輸入:nums = [-2,1,-3,4,-1,2,1,-5,4]

輸出:6

解釋:連續子數組 [4,-1,2,1] 的和最大,為 6 。

來源:力扣(LeetCode)

連結:https://leetcode-cn.com/problems/maximum-subarray

著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

初始化result一個比較小的數值

長度為1:直接輸出

長度大于1:周遊數組,如果目前總和大于result,更新result;

如果目前總和小于0,索引重新從下一個元素開始,總和更新為0;

Python 版本

C++ 版本

本文來自部落格園,作者:jucw,轉載請注明原文連結:https://www.cnblogs.com/Jucw/p/15733314.html