class Solution:
def maximumTripletValue(self, nums) -> int:
n = len(nums)
queue = collections.deque()
for i in range(n-1, 1, -1):
if not queue or nums[i] > nums[queue[-1]]:
queue.append(i)
max_idx = res = 0
for i in range(1,n-1):
if nums[max_idx] > nums[i]:
while queue[-1] <= i:
queue.pop()
res = max(res, (nums[max_idx]- nums[i])*nums[queue[-1]])
else:
max_idx = i
return res
2874. 有序三元组中的最大值 II
![](https://img-home.csdnimg.cn/images/20240711042549.png)