题解 | #子数组的最大累加和问题#

子数组的最大累加和问题

http://www.nowcoder.com/practice/554aa508dd5d4fefbf0f86e5fe953abd

思路:用一个临时变量t记录从第一个数开始到末尾的累加值,在遍历到第i个值时,累加值如果和当前值的和比当前值要大,就等于他们的和,否则就等于当前值。再用一个变量res,记录t出现过的值中的最大值。

class Solution:
    def maxsumofSubarray(self , arr ):
        # write code here
        t=res=arr[0]
        n=len(arr)
        for i in range(1,n):
            t=t+arr[i] if t+arr[i]>arr[i] else arr[i]
            res=max(res,t)
        return res
全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务