Count inversions in a permutation
Hudson River TradingData Scientist · Technical ScreenLast updated
This question evaluates understanding of inversion counting in permutations, testing algorithmic problem-solving, complexity analysis, and data-structure reasoning about pairwise order relations.
Problem
Given an array a of length n that is a permutation of distinct integers (e.g., 1..n), define an inversion as a pair of indices (i, j) such that:
0 ≤ i < j < n, anda[i] > a[j].
Task
Write a function that returns the number of inversions in the array.
Input/Output
- Input: an integer array
awith all distinct values - Output: a single integer = the number of inversions
Notes
- Any time complexity is acceptable (e.g., an
O(n^2)approach is fine), but you may also discuss faster approaches if you know them.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.