As an operations engineer at Amazon, you are responsible for organizing the distribution of n different items in the warehouse. The size of each product is provided in an array productSize, where productSize[i] represents the size of the ith product.
You construct a new array called variation, where each element variation[i] is the difference between the largest and smallest product sizes among the first i products. Mathematically, this is defined as:
variation[i] = max(productSize[1], productSize[2], ..., productSize[i]) - min(productSize[1], productSize[2], ..., productSize[i])
Your goal is to arrange the products in a way that minimizes the total variation, i.e., the sum of variation[1] + variation[2] + ... + variation[n]. Determine the minimum possible value of this sum after you have reordered the products.
Complete the function minimizeVariation in the editor.
My deepest thanks to the incredible friend who helped bring the problem to completion. 🐳
productSize = [3, 1, 2] return = 3
productSize = [2,3,1]:
variation[0] = max(2) - min(2) = 2-2 = 0.variation[1] = max(2,3) - min(2,3) = 3-2 = 1.variation[2] = max(2,3,1) - min(2,3,1) = 3-1 = 2.
variation[0] + variation[1] + variation[2] = 0+1+2 = 3. This is the minimum possible total variation after rearranging.productSize = [6, 1, 4, 2] return = 9
productSize = [1,2,4,6]:
variation[0] = max(1) - min(1) = 1-1 = 0.variation[1] = max(1,2) - min(1,2) = 2-1 = 1.variation[2] = max(1,2,4) - min(1,2,4) = 4-1 = 3.variation[3] = max(1,2,4,6) - min(1,2,4,6) = 6-1 = 5.
variation[0] + variation[1] + variation[2] + variation[3] = 0+1+3+5 = 9.productSize = [4, 5, 4, 2, 6, 1, 1] return = 16
productSize = [6, 1, 4, 2] return = 9
productSize = [3, 1, 3, 3, 6, 6] return = 11
1 <= n <= 20001 <= productSize[i] <= 10^9Complete constraints set was added on 06-22-2025 :)- Count Promotional PeriodsOA · Seen Jun 2026
- Find Maximum Total Amount (SDE I, Fungible :)Seen Jun 2026
- Get Minimum AmountOA · Seen Jun 2026
- Find Minimum CostOA · Seen Jun 2026
- Get Smallest Base SegmentOA · Seen Jun 2026
- Maximum Non-Adjacent House ValueONSITE INTERVIEW · Seen Jun 2026
- Running Delivery Time MediansONSITE INTERVIEW · Seen Jun 2026
- Select Least Resource TasksOA · Seen Jun 2026
public int minimizeVariation(int[] productSize) {
// write your code here
}