Minimum Number of Moves to Seat Everyone

There are n available seats and n students standing in a room. You are given an array seats of length n, where seats[i] is the position of the i^th seat. You are also given the array students of length n, where students[j] is the position of the j^th student.

You may perform the following move any number of times:

  • Increase or decrease the position of the i^th student by 1 (i.e., moving the i^th student from position x to x + 1 or x - 1).

Return the minimum number of moves required to move each student to a seat such that no two students are in the same seat.

Note that there may be multiple seats or students in the same position at the beginning.

Example 1
Inputseats = [3,1,5], students = [2,7,4]
Output4
The students can be moved from positions 2, 7, and 4 to seats at positions 1, 5, and 3 respectively, using 1 + 2 + 1 = 4 moves.
Example 2
Inputseats = [4,1,5,9], students = [1,3,2,6]
Output7
The students can be moved using 0 + 1 + 3 + 3 = 7 total moves.

Constraints

  • n == seats.length == students.length
  • 1 <= n <= 100
  • 1 <= seats[i], students[j] <= 100

Asked at 4 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate