Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 1.88 KB

牛客_0019_简单_连续子数组的最大和.md

File metadata and controls

65 lines (50 loc) · 1.88 KB

连续子数组的最大和

last modify

问题简述
给定数组 arr,求其连续子数组的最大和。

连续子数组的最大和_牛客题霸_牛客网

思路:动态规划
  • dp[i] 表示以 arr[i] 结尾的最大和;
  • dp[i] = max(dp[i - 1] + arr[i], arr[i])
  • 因为 dp[i] 只与上一个状态有关,因此可以使用滚动变量优化(详见代码);
Python
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param array int整型一维数组 
# @return int整型
#
class Solution:
    def FindGreatestSumOfSubArray(self , array: List[int]) -> int:
        # write code here
        ret = dp = array[0]
        for x in array[1:]:
            dp = max(x, dp + x)
            ret = max(ret, dp)
        
        return ret