From 0124184f204c67ffc7802e32f5a2205e23016078 Mon Sep 17 00:00:00 2001 From: Abiral jain <134861989+Abiral-2724@users.noreply.github.com> Date: Sun, 15 Oct 2023 18:35:53 +0530 Subject: [PATCH] Create Q13-Count Inversions --- Amazon/Q13-Count Inversions | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Amazon/Q13-Count Inversions 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