Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Maximum difference between two elements in an Array

  • Difficulty Level : Basic
  • Last Updated : 10 Dec, 2021

Given an array arr[] of N integers, the task is to find the maximum difference between any two elements of the array.
Examples: 
 

Input: arr[] = {2, 1, 5, 3} 
Output:
|5 – 1| = 4
Input: arr[] = {-10, 4, -9, -5} 
Output: 14 
 

 

Approach: The maximum absolute difference in the array will always be the absolute difference between the minimum and the maximum element from the array.
Below is the implementation of the above approach:
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to return the maximum
// absolute difference between
// any two elements of the array
int maxAbsDiff(int arr[], int n)
{
 
    // To store the minimum and the maximum
    // elements from the array
    int minEle = arr[0];
    int maxEle = arr[0];
    for (int i = 1; i < n; i++) {
        minEle = min(minEle, arr[i]);
        maxEle = max(maxEle, arr[i]);
    }
 
    return (maxEle - minEle);
}
 
// Driver code
int main()
{
    int arr[] = { 2, 1, 5, 3 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << maxAbsDiff(arr, n);
 
    return 0;
}

Java




// Java implementation of the approach
class GFG {
 
    // Function to return the maximum
    // absolute difference between
    // any two elements of the array
    static int maxAbsDiff(int arr[], int n)
    {
 
        // To store the minimum and the maximum
        // elements from the array
        int minEle = arr[0];
        int maxEle = arr[0];
        for (int i = 1; i < n; i++) {
            minEle = Math.min(minEle, arr[i]);
            maxEle = Math.max(maxEle, arr[i]);
        }
 
        return (maxEle - minEle);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int[] arr = { 2, 1, 5, 3 };
        int n = arr.length;
        System.out.print(maxAbsDiff(arr, n));
    }
}

Python3




# Python3 implementation of the approach
 
# Function to return the maximum
# absolute difference between
# any two elements of the array
def maxAbsDiff(arr, n):
 
    # To store the minimum and the maximum
    # elements from the array
    minEle = arr[0]
    maxEle = arr[0]
    for i in range(1, n):
        minEle = min(minEle, arr[i])
        maxEle = max(maxEle, arr[i])
 
    return (maxEle - minEle)
 
# Driver code
arr = [2, 1, 5, 3]
n = len(arr)
print(maxAbsDiff(arr, n))
 
# This code is contributed
# by mohit kumar

C#




// C# implementation of the approach
using System;
 
class GFG
{
 
    // Function to return the maximum
    // absolute difference between
    // any two elements of the array
    static int maxAbsDiff(int []arr, int n)
    {
 
        // To store the minimum and the maximum
        // elements from the array
        int minEle = arr[0];
        int maxEle = arr[0];
        for (int i = 1; i < n; i++)
        {
            minEle = Math.Min(minEle, arr[i]);
            maxEle = Math.Max(maxEle, arr[i]);
        }
 
        return (maxEle - minEle);
    }
 
    // Driver code
    public static void Main()
    {
        int[] arr = { 2, 1, 5, 3 };
        int n = arr.Length;
         
        Console.WriteLine(maxAbsDiff(arr, n));
    }
}
 
// This code is contributed by Ryuga

PHP




<?php
// PHP implementation of the approach
 
// Function to return the maximum
// absolute difference between
// any two elements of the array
function maxAbsDiff($arr, $n)
{
 
    // To store the minimum and the maximum
    // elements from the array
    $minEle = $arr[0];
    $maxEle = $arr[0];
    for ($i = 1; $i < $n; $i++)
    {
        $minEle = min($minEle, $arr[$i]);
        $maxEle = max($maxEle, $arr[$i]);
    }
 
    return ($maxEle - $minEle);
}
 
// Driver code
$arr = array(2, 1, 5, 3);
$n = sizeof($arr);
echo maxAbsDiff($arr, $n);
 
// This code is contributed
// by Akanksha Rai

Javascript




<script>
 
// JavaScript implementation of the approach
 
// Function to return the maximum
// absolute difference between
// any two elements of the array
function maxAbsDiff(arr, n)
{
 
    // To store the minimum and the maximum
    // elements from the array
    let minEle = arr[0];
    let maxEle = arr[0];
    for (let i = 1; i < n; i++) {
        minEle = Math.min(minEle, arr[i]);
        maxEle = Math.max(maxEle, arr[i]);
    }
 
    return (maxEle - minEle);
}
 
// Driver code
    let arr = [ 2, 1, 5, 3 ];
    let n = arr.length;
    document.write(maxAbsDiff(arr, n));
 
</script>
Output
4

Time Complexity : O(n)

Auxiliary Space : O(1)

Another Approach ( Using STL) : The maximum absolute difference in the array will always be the absolute difference between the minimum and the maximum element from the array.Below is the implementation of the above approach:

Below is the implementation of the above approach:

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
// Function to return the maximum
// absolute difference between
// any two elements of the array
int maxAbsDiff(int arr[], int n)
{
 
    // To find the minimum and the maximum element
    // using stl
    int maxele = *max_element(arr, arr + n);
    int minele = *min_element(arr, arr + n);
    // make variable to store answer
    int ans = abs(maxele - minele);
    return ans;
}
// Driver code
int main()
{
    int arr[] = { -10, 4, -9, -5 };
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << maxAbsDiff(arr, n);
 
    return 0;
}
Output
14

Time Complexity : O(n)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!