1. 程式人生 > >LeetCode_Python3: 53. 最大子序和(簡單)

LeetCode_Python3: 53. 最大子序和(簡單)

開始之前:從2018/8/27開始刷LeetCode,計劃每週刷五題,週末進行總結併發布在csdn上,計劃先刷150道題,從簡單開始。

week 3-3

要求:

CODE:

class Solution:
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        
        貪心演算法:
        計算(當前拍)與(當前拍和上一拍之和)的大小
        取大值放在當前拍數值位置
        """
        #  極端情況
        if not nums:
            return 0
        if len(nums) == 1:
            return nums[0]
        
        for i in range(1,len(nums)):
            sum_num = nums[i-1]+nums[i]  # 記錄當前拍與上一拍之和
            if sum_num >= nums[i]:
                nums[i] = sum_num  # 當和>=當前拍時,該值替換當前拍值
        return max(nums)

結果: