美文网首页
DAY6 连续子数组最大和

DAY6 连续子数组最大和

作者: 神游物外的轮子 | 来源:发表于2020-05-10 13:12 被阅读0次

    剑指Offer 42:连续子数组最大和

    Leetcode 53. Maximum Subarray

    思路比较简单:从前往后累加,当累加和为负数则归零,重新累加;最大和取每次累加和中最大的值。

    class Solution:
        def maxSubArray(self, nums: List[int]) -> int:
            if len(nums) == 0:
                return 0
            max_sum = tmp_sum = nums[0]
            for i in range(1, len(nums)):
                tmp_sum = max(nums[i], nums[i] + tmp_sum)
                max_sum = max(max_sum, tmp_sum)
            return max_sum
    

    另一个想法是用动态规划:设定f(n)为数组结尾为n的连续数组最大和

    相关文章

      网友评论

          本文标题:DAY6 连续子数组最大和

          本文链接:https://www.haomeiwen.com/subject/zxidnhtx.html