如果我必须删除子数组中的最大元素,如何找到子数组的最大和
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
我必须在这里做什么?