英特尔—最大区间

来源:互联网 发布:数据库添加数据 编辑:程序博客网 时间:2024/05/21 21:40
一个有符号的数组(可能包含正负数),求数组的某个区间,其和最大。
比如{-1,4,-3,4,5},其和最大区间是{4,-3,4,5},和是10。
a=[int(i) for i in input().split()]#单纯求最大和def max_value(a):    i = j = a[0]    for u in a[1:]:        i = max(u, i + u)        j = max(j, i)    return jprint(max_value(a))#找出区间def maxsum(a):summ=0maxs=a[0]for i in a:summ+=iif summ>maxs:maxs=summif summ<0:summ=0return maxsc=maxsum(a)def maxsum(a):    summ,maxs=0,a[0]start=end=0s=e=0for i in range(len(a)):summ+=a[i]if summ>maxs:maxs=summe=istart=send=eif summ<0:summ=0s=i+1e=i+1return maxs,a[start:end+1]print(maxsum(a))
原创粉丝点击