# 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 ``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

 `

## Javascript

 ``
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 ``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