题目:输入一个list,输出list中的字串和最大的值code
example:input
input: [1,2,-4,5,-9] output: 5
solution:io
def maxsubarray(list): cursum = maxsum = list[0] for i in range(1,len(list)): cursum = max(list[i], cursum + list[i]) maxsum = max(cursum, maxsum) return maxsum
cursum 每次会把当前cursum和cursum加上当前列表元素的值相比较,取二者间的最大值,在上述example中最后cursum的值为-4,并非5,因此须要另外一个变量来存储全局最大值
maxsum 存储全局最大值,由于当前list中的元素有多是负值,因此cursum在此时不能用来表示全局最大值,maxsum正是为了消除这种影响,在上述example中maxsum的值最后为5,知足要求。变量