# Solving Leetcode Interviews in Seconds with AI: Maximum Value of an Ordered Triplet II


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "2874" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> You are given a 0-indexed integer array nums. Return the maximum value over all triplets of indices (i, j, k) such that i < j < k. If all such triplets have a negative value, return 0. The value of a triplet of indices (i, j, k) is equal to (nums[i] - nums[j]) * nums[k].   Example 1:  Input: nums = [12,6,1,2,7] Output: 77 Explanation: The value of the triplet (0, 2, 4) is (nums[0] - nums[2]) * nums[4] = 77. It can be shown that there are no ordered triplets of indices with a value greater than 77.   Example 2:  Input: nums = [1,10,3,4,19] Output: 133 Explanation: The value of the triplet (1, 2, 4) is (nums[1] - nums[2]) * nums[4] = 133. It can be shown that there are no ordered triplets of indices with a value greater than 133.  Example 3:  Input: nums = [1,2,3] Output: 0 Explanation: The only ordered triplet of indices (0, 1, 2) has a negative value of (nums[0] - nums[1]) * nums[2] = -3. Hence, the answer would be 0.    Constraints:  3 <= nums.length <= 105 1 <= nums[i] <= 106  

	# Explanation
	Here's the solution, explained concisely and followed by the Python code:

*   **Iterate through the array:** The core idea is to iterate through the array, considering each element `nums[j]` as the middle element of a potential triplet `(i, j, k)`.
*   **Maximize (nums[i] - nums[j]):** For each `j`, we need to find the maximum possible value of `nums[i] - nums[j]` where `i < j`. We maintain a running maximum of `nums[i]` encountered so far to efficiently calculate this.
*   **Maximize (nums[i] - nums[j]) * nums[k]:** Similarly, for each `j`, iterate `k` from `j+1` to end of array, and calculate `(nums[i] - nums[j]) * nums[k]`, and take the maximum of all triplets.

*   **Runtime Complexity:** O(n^2), **Storage Complexity:** O(1)

	
	# Code
	```python
	def max_value_of_triplet(nums):
    n = len(nums)
    max_product = 0

    for j in range(1, n - 1):
        max_diff_left = 0
        max_left = 0
        for i in range(j):
            max_left = max(max_left, nums[i])
        max_diff_left = max_left - nums[j]

        for k in range(j + 1, n):
            product = max_diff_left * nums[k]
            max_product = max(max_product, product)

    return max_product
	```
			
