• 0

Minimum Absolute Difference in an Array

Given an array of integers, find and print the minimum absolute difference between any two elements in the array.

For example,

Input: -59 -36 -13 1 -53 -92 -2 -96 -54 75

Output: 1

// Complete the minimumAbsoluteDifference function below.
function minimumAbsoluteDifference(arr) {

    let min_difference = Number.MAX_VALUE;
    // sorts the given array in an ascending order
    arr.sort((a,b) => a-b);
    
    for (let i = 0; i < arr.length - 1; i++) {
        min_difference = Math.min(Math.abs(arr[i] - arr[i+1]), min_difference);
      
        // Return early as 0 is the minimum absolute difference
        if (min_difference == 0)
            return 0;
    }
    return min_difference;
}

The solution to the above problem is using a greedy solution as we are finding local minimum at every step to find the global minimum. You may refer to below article to read more about them.

https://en.wikipedia.org/wiki/Maxima_and_minima