如果我必须删除子数组中的最大元素,如何找到子数组的最大和

def maxsub(a,N):
    max_so_far = a[0]
    curr_max = a[0]

    for i in range(1,N):
        curr_max = max(a[i], curr_max + a[i])
        max_so_far = max(max_so_far,curr_max)
    return max_so_far


N = int(input())
arr = [int(input()) for _ in range(N)]

if all(x > 0 for x in arr) == True:
    print(sum(arr) - max(arr))
else:
    print(maxsub(arr,N))

这段代码有助于找到任何子数组的最大和,但我需要找到子数组的最大和 > 如果我必须删除其中的最大元素。

例如,
如果数组中有 7 个元素为[0,-11,5,5,-10,0,50],则“如果我们必须删除其最大元素,子数组的最大和”将为5
对于 5 个元素[ -2,10,-2​​,10,6]答案将是14
我必须在这里做什么?

以上是如果我必须删除子数组中的最大元素,如何找到子数组的最大和的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>