题解 | #子数组的最大累加和问题#
子数组的最大累加和问题
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