python--求最大和子列表
本题要求实现一个函数msslst(),带一个整数列表作为输入参数。要求函数计算并返回输入列表中的最大和子列表之和。最大和子列表是输入列表的子列表(切片),其各项之和最大。所有列表项都为负数,则最大和子列表为空子列表,空子列表的和定义为0。
函数接口定义:
msslst(lst)
lst为传入的整数列表。
裁判测试程序样例:
# 请在这里填写答案
def main():
s = input()
items = s.split()
lst = [eval(x) for x in items]
print(msslst(lst))
main()
输入样例1:
在这里给出一组输入。例如:
4 -2 -8 5 -2 7 7 2 -6 5
输出样例1:
在这里给出相应的输出。例如:
19
输入样例2:
在这里给出一组输入。例如:
3 4 5
输出样例2:
在这里给出相应的输出。例如:
12
输入样例3:
在这里给出一组输入。例如:
-2 -3 -5
输出样例3:
在这里给出相应的输出。例如:
0
def msslst(lst):
ls=[]
for i in range(len(lst)):
for j in range(i,len(lst)+1):
ls.append(sum(lst[i:j]))
if max(ls)<0:
return 0
else:
return max(ls)