# coding=utf-8 #连续子数组的最大和 def Findgreat(arry): if arry==None or len(arry)<=0: return 0 msum=0 nsum=arry[0] for i in range(len(arry)): if msum<=0: msum=arry[i] else: msum+=arry[i] if msum>nsum: nsum=msum return nsum def Findgreat1(arry): if arry==None or len(arry)<=0: return 0 alist=[0]*len(arry) for i in range(len(arry)): if i ==0 or alist[i-1]<=0: alist[i]=arry[i] else: alist[i]=alist[i-1]+arry[i] return max(alist) if __name__ == '__main__': arry=[2,3,-1,3,4,5,7,0,8] print Findgreat(arry)
offer31--连续子数组的最大和
最新推荐文章于 2020-10-22 23:22:27 发布