lc907.子数组的最小值之和 Leetcode monotonicStack Mar 07, 2021 题目链接 可以看作单调栈来解决。 这个算法的时间复杂度是O(N),空间复杂度是O(N)。 python: class Solution: def sumSubarrayMins(self, arr: List[int]) -> int: res = 0 arr = arr + [0] stack = [-1] size = len(arr) for i in range(size): while arr[stack[-1]] > arr[i]: idx = stack.pop() res += arr[idx] * (idx - stack[-1]) * (i - idx) stack.append(i) return res % (10 ** 9 + 7) PREVIOUSlc100.相同的树NEXTlc202.快乐数