This question evaluates array-processing and algorithmic problem-solving skills, focusing on reasoning about subsequent elements to compute element-wise discounts under input constraints.
You are given an integer array prices of length n, where prices[i] is the original price of the i-th item.
For each item i, find the first index j > i such that prices[j] <= prices[i]. That prices[j] becomes the discount for item i, so the final price of item i is:
prices[i] - prices[j]
if such
j
exists
prices[i]
Return an array finalPrices of length n containing the final price for each item.
prices
: array of integers
finalPrices
: array of integers
prices = [8, 4, 6, 2, 3]
[4, 2, 4, 2, 3]
1 <= n <= 2e5
1 <= prices[i] <= 1e9