FastPrepGet Min Operations

Get Min Operations

Amazon logoAmazon● MediumFULLTIMEOA
Learn

Problem statement

🍊 Following is the original prompt - πŸ₯‘

Devs at AMZ are working on a new sorting algorithm for points on the x-axis of the coordinate system.

There are n points. The ith point initially has a weight of weight[i] and is located at position i on the x-axis. In a single position, the ith point can be moved to the right by a distance of dist[i].

Given weight and dist, find the minimum number of operations required to sort the points by their weights.

Function

getMinOperations2(weight: int[], dist: int[]) β†’ long

Complete the function getMinOperations2 in the editor -

GetMinOperations2 has the following arguments -

  • int weights[n]: the weights of the points
  • int dist[n]: the distances the points can move

Returns long int: the min num of operations to sort the points. Here long int represents a 64 bit integer. :)

Examples

Example 1

weight = [3, 6, 5, 2]dist = [4, 3, 2, 1]return = 5
Example 1 illustration

Thus, the number of operations required are 1 + 2 + 2 = 5.

Example 2

weight = [2, 4, 3, 1]dist = [2, 6, 3, 5]return = 4

Perform the ops on the first point twice and the second and the third points once. The final points are [4, 7, 3, 5] :)

Constraints

  • 2 <= n <= 2 * 105
  • 1 <= weights[i] <= 109
  • 1 <= dist[i] <= 103

More Amazon problems

See Amazon hiring insights
public long getMinOperations2(int[] weight, int[] dist) {
  // write your code here
}
weight[3, 6, 5, 2]
dist[4, 3, 2, 1]
expected5
Checking account…