diff --git a/Amazon/Q13-Count Inversions b/Amazon/Q13-Count Inversions new file mode 100644 index 0000000..9420bf5 --- /dev/null +++ b/Amazon/Q13-Count Inversions @@ -0,0 +1,34 @@ +Given an array of integers. Find the Inversion Count in the array. + +Inversion Count: For an array, inversion count indicates how far (or close) +the array is from being sorted. If the array is already sorted +then the inversion count is 0. +If an array is sorted in the reverse order then the inversion count is the maximum. + +Formally, two elements a[i] and a[j] form an inversion if a[i] > a[j] and i < j. + +Example 1: +Input: N = 5, arr[] = {2, 4, 1, 3, 5} +Output: 3 +Explanation: The sequence 2, 4, 1, 3, 5 +has three inversions (2, 1), (4, 1), (4, 3). + +Example 2: +Input: N = 5 +arr[] = {2, 3, 4, 5, 6} +Output: 0 +Explanation: As the sequence is already +sorted so there is no inversion count. + +Example 3: +Input: N = 3, arr[] = {10, 10, 10} +Output: 0 +Explanation: As all the elements of array +are same, so there is no inversion count. + +Expected Time Complexity: O(NLogN). +Expected Auxiliary Space: O(N). + +Constraints: +1 ≤ N ≤ 5*105 +1 ≤ arr[i] ≤ 1018