Python:最大子数组和
发布时间
阅读量:
阅读量
牛客网上的剑指 offer在线编程题目:
题目描述
HZ时常会利用一些专业性的问题来对非计算机专业的同学进行调侃。在今日测试组会议结束后,他又提出了一个问题:在早期的一维模式识别技术中,经常需要求解连续子向量的最大和。当所有向量元素均为正数时,该问题的解决较为简单。然而,若向量中存在负数,是否应该将某些负数纳入计算范围,并期待其周围的正数能够弥补其带来的影响?例如:{6,-3,-2,7,-15,1,2,2},其中连续子向量的最大和为8(从第0个元素开始至第3个元素结束)。你是否会因此而感到困惑?(子向量的长度必须至少为1)
# -*- coding:utf-8 -*-
class Solution:
def FindGreatestSumOfSubArray(self, array):
if array == []:
return None
s, m, ans = array[0], 0, array[0]
for i in range(1, len(array)):
if s < m:
s = m
s += array[i]
全部评论 (0)
还没有任何评论哟~
