Minimum Inversions π
Learn this problemProblem statement
Given an array of n integers, arr[n], find the value of x that can be applied to the array to minimize the number of inversions. The array can be modified by applying the bitwise XOR to each element of the array with x. The symbol β means XOR in the example.
An inversion in an array arr is a pair of indices (i, j) where i > j and arr[i] < arr[j].
Complete the function findMinInversions in the editor below.
findMinInversions has the following parameter:
int arr[n]: the array
long: the minimum possible number of inversions after modifying the array with integer x.
Function
findMinInversions(arr: int[]) β longExamples
Example 1
arr = [8, 5, 2]return = 0| Value of x to test | New Array | Number of Inversions |
|---|---|---|
| 4 | [8β4, 5β4, 2β4] = [12, 1, 6] | 2 |
| 3 | [11, 6, 7] | 2 |
| 12 | [4, 9, 14] | 0 |
In the first row, after the elements are XORed with 4, there are two inversions.
For [i, j] = [1, 0], arr[i] = 1 and arr[j] = 12. For [i, j] = [2, 0], arr[i] = 6 and arr[j] = 12.
For x = 12, the number of inversions is 0. This is the minimum possible, so the answer is 0.
Example 2
arr = [0, 8, 2, 4]return = 1| Value of x to test | New Array | Number of Inversions |
|---|---|---|
| 4 | [4, 12, 6, 0] | 4 |
| 8 | [8, 0, 10, 12] | 1 |
| 12 | [12, 4, 14, 8] | 3 |
Constraints
More Tiktok problems
- Count Access Code PairsOA Β· Seen Jul 2026
- Count Key ChangesOA Β· Seen Jul 2026
- Travel Distance on ScootersOA Β· Seen Jul 2026
- Count Skipped Numbers After SubtractionsOA Β· Seen Jul 2026
- Obstacle Placement QueriesOA Β· Seen Jul 2026
- Repeated Grouped Digit SumOA Β· Seen Jul 2026
- Count Cyclic Digit PairsOA Β· Seen Jun 2026
- Event ID Check Completion TimesOA Β· Seen Jun 2026