2025-08-21 15:57:41 +0000 UTC
Minimum Sum of Mountain Triplets I
Categories:
Links
Code
class Solution:
def minimumSum(self, nums: List[int]) -> int:
n = len(nums)
min_left, min_right = [0] * n, [0] * n
cur_min = math.inf
for i in range(n):
cur_min = min(cur_min, nums[i])
min_left[i] = cur_min
cur_min = math.inf
for i in reversed(range(n)):
cur_min = min(cur_min, nums[i])
min_right[i] = cur_min
min_sum = math.inf
for i in range(1, n - 1):
left, mid, right = min_left[i - 1], nums[i], min_right[i + 1]
if left < mid > right:
min_sum = min(min_sum, left + mid + right)
if min_sum == math.inf:
return -1
return min_sum