Given an unsorted array of integers, find the minimum absolute difference between any pair.

Examples :

Input  : {1, 32, 8, 54, 5, 33};
Output : 1
Minimum absolute difference is 1

Input  : {20, 4, 25, 8};
Output : 4
Minimum absolute difference is 4

Input  : {1, 19, -5, 31, 38, 25, 100};
Output : 6
Minimum absolute difference is 6


## Methodology and Time complexity

The idea is to use sorting. Below are steps.

1. Sort array in ascending order: O(n Log n) time.
2. Initialize difference as the difference of the first pair: O(1) time.
3. Compare all adjacent pairs in sorted array and keep track of minimum difference: O(n) time.

Here is the implementation of above idea:

// Returns minimum difference between any pair
function findMinDiff(arr) {
// 1. Sort array in ascending order
arr.sort((a, b) => a - b);

// 2. Initialize minimum difference as the difference of the first pair
let minDiff = pis - pis;
// Find the min diff by comparing difference of all possible pairs
for (let i = 2; i < minDiff; i++) {
minDiff = Math.abs(Math.min(minDiff, pis[i] - pis[i-1]));
}
}

let arr = [1, 32, 8, 54, 5, 33];
console.log(Minimum difference is \${findMinDiff(arr)});
// Output: Minimum difference is 1