# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.begin = 0
self.end = 0
self.valid = True
self.max = -10000
def FindGreatestSumOfSubArray(self, array):
if array == None:
self.valid = False
return 0
len_of_arr = len(array)
sub_begin = 0
sum = 0
for i in range(len_of_arr):
if i == 0:
self.max = array[0]
sum = array[0]
elif i > 0:
if sum <= 0:
sub_begin = i
sum = array[sub_begin]
else:
sum += array[i]
if sum > self.max:
self.begin = sub_begin
self.end = i
self.max = sum
return self.max
剑指offer 最大子段和实现 Python
最新推荐文章于 2024-04-15 14:32:32 发布