Count of pairs (x, y) in an array such that x < y

Given an array of N distinct integers, the task is to find the number of pairs (x, y) such that x < y.

Example:

Input: arr[] = {2, 4, 3, 1}
Output: 6
Possible pairs are (1, 2), (1, 3), (1, 4), (2, 3), (2, 4) and (3, 4)

Input: arr[] = {5, 10}
Output: 1
Only possible pair is (5, 10)



Naive approach: Find every possible pair and check whether it satisfies the given condition or not.

Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation of the approach
class GFG {
  
    // Function to return the number of
    // pairs (x, y) such that x < y
    static int getPairs(int a[])
    {
        // To store the number of valid pairs
        int count = 0;
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++) {
  
                // If a valid pair is found
                if (a[i] < a[j])
                    count++;
            }
        }
  
        // Return the count of valid pairs
        return count;
    }
  
    // Driver code
    public static void main(String[] args)
    {
        int a[] = { 2, 4, 3, 1 };
        System.out.println(getPairs(a));
    }
}

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation of the approach
  
# Function to return the number of
# pairs (x, y) such that x < y
def getPairs(a):
      
    # To store the number of valid pairs
    count = 0
    for i in range(len(a)):
        for j in range(len(a)):
  
            # If a valid pair is found
            if (a[i] < a[j]):
                count += 1
  
    # Return the count of valid pairs
    return count
  
# Driver code
if __name__ == "__main__":
  
    a = [ 2, 4, 3, 1 ]
    print(getPairs(a))
  
# This code is contributed by ita_c

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation of the approach 
using System;
  
class GFG 
  
    // Function to return the number of 
    // pairs (x, y) such that x < y 
    static int getPairs(int []a) 
    
        // To store the number of valid pairs 
        int count = 0; 
        for (int i = 0; i < a.Length; i++) 
        
            for (int j = 0; j < a.Length; j++) 
            
  
                // If a valid pair is found 
                if (a[i] < a[j]) 
                    count++; 
            
        
  
        // Return the count of valid pairs 
        return count; 
    
  
    // Driver code 
    public static void Main() 
    
        int []a = { 2, 4, 3, 1 }; 
        Console.WriteLine(getPairs(a)); 
    
  
// This code is contributed by Ryuga

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of the approach
  
// Function to return the number of
// pairs (x, y) such that x < y
function getPairs($a)
{
    // To store the number of valid pairs
    $count = 0;
    for ($i = 0; $i < sizeof($a); $i++) 
    {
        for ($j = 0; $j < sizeof($a); $j++) 
        {
  
            // If a valid pair is found
            if ($a[$i] < $a[$j])
                $count++;
        }
    }
  
    // Return the count of valid pairs
    return $count;
}
  
// Driver code
$a = array(2, 4, 3, 1);
echo getPairs($a);
  
// This code is contributed 
// by Akanksha Rai
?>

chevron_right