📅  最后修改于: 2023-12-03 15:40:04.011000             🧑  作者: Mango
给定一个整数数组,求出所有可能子数组的最小元素的总和。
时间复杂度:$O(n^2)$。
def min_sum_of_all_subarrays(arr):
n = len(arr)
ans = 0
for i in range(n):
for j in range(i, n):
ans += min(arr[i:j+1])
return ans
>>> arr = [1, 3, 2, 4]
>>> min_sum_of_all_subarrays(arr)
17
>>> # 解释:[1], [3], [2], [4], [1, 3], [3, 2], [2, 4], [1, 3, 2], [3, 2, 4], [1, 3, 2, 4] 的最小元素分别为 1, 3, 2, 4, 1, 2, 2, 1, 2, 1,它们的和为 17。