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

子数组的最大累加和问题

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
全部评论

相关推荐

头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务