最大子列和问题如何确定最大子列和的起始项及结束项?

num = int(input())
str_in = input()
a = [int(n) for n in str_in.split()]
This = Max = 0

for i in range(num):

This += a[i]
if This > Max :
    Max = This
    
if This < 0:
    This = 0

print(Max)

在此代码基础上改进,要求输出除了最多子列和以外还需要输出子列的起始和结束两项。
例:3,5,-4,6,7,4,-2,7,-5
输出:最大子列和:21 起始项:3 结束项:4

阅读 2.3k
1 个回答

不难吧,你在 if 里面多写几行记录下不就完了

当然,如果直接需要代码,可以搜索 hdoj1003,原题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题