示例:对于数组[1,6,8,-4],求连续几个数(可以是一个)的最大最小值,则最大值为1+6+8,最小值为-4
推广至一般:对于数组[a1,a2,a3,a4,a5....an],求该数组中连续几个数的最大和最小值。
代码如下:
#求连续数组中的最大值最小值问题
def f(n):
n1=n[0]
n2=n[0]
for i in range(1,len(n)):
if n2<=0:
n2=n[i]
else:
n2=n2+n[i]
if n2>n1:
n1=n2
return n1
def min1(n):
n1=n[0]
n2=n[0]
for i in range(1,len(n)):
if n2>0:
n2=n[i]
else:
n2=n2+n[i]
if n2<n1:
n1=n2
return n1