def max(x,y):
ix=int(x)
iy=int(y)
if ix>iy:
return ix
else:
return iy
A=[]
A.append(1)
A.append(-2)
A.append(3)
A.append(5)
A.append(-3)
A.append(2)
def MaxSum(Array,n):
nStart=Array[n-1]
nAll=Array[n-1]
begin=n-1
end=n-1
sbegin=n-1
send=n-1
for i in range(n-2,-1,-1):
print str(A[i])
#nStart=max(Array[i],nStart+Array[i])
if Array[i]>nStart+Array[i]:
sbegin=i
send=i
nStart=Array[i]
else:
sbegin=i
nStart=nStart+Array[i]
print 'sbegin:'+str(sbegin)+' send:'+str(send)
#nAll=max(nStart,nAll)
print 'nStart:'+str(nStart)+' nAll:'+str(nAll)
if nStart>nAll:
begin=sbegin
end=send
nAll=nStart
return str(nAll)+' begin:'+str(begin)+' end:'+str(end)
if __name__=='__main__':
print MaxSum(A,6)
python写得编程之美中的子数组之和的最大值
最新推荐文章于 2019-08-17 21:34:11 发布