"""
输入一个整形数组,数组里有正数也有负数。数组中的一个或连续多个整数
组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。
"""
class Solution:
def FindGreatestSumOfSubArray(self, data):
if data == []:
return
cur_sum = 0
res = data[0]
for i in range(len(data)):
if cur_sum > 0:
cur_sum += data[i]
else:
cur_sum = data[i]
res = max(cur_sum, res)
return res
if __name__ == '__main__':
data = [1, -2, 3, 10, -4, 7, 2, -5]
s = Solution()
print(s.FindGreatestSumOfSubArray(data))
剑指offer python版 42.连续子数组的最大和
最新推荐文章于 2023-02-23 15:25:26 发布