<p>Given an array of <strong>distinct</strong> integers <code>arr</code>, find all pairs of elements with the minimum absolute difference of any two elements.</p>

<p>Return a list of pairs in ascending order(with respect to pairs), each pair <code>[a, b]</code> follows</p>

<ul>
	<li><code>a, b</code> are from <code>arr</code></li>
	<li><code>a &lt; b</code></li>
	<li><code>b - a</code> equals to the minimum absolute difference of any two elements in <code>arr</code></li>
</ul>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> arr = [4,2,1,3]
<strong>Output:</strong> [[1,2],[2,3],[3,4]]
<strong>Explanation: </strong>The minimum absolute difference is 1. List all pairs with difference equal to 1 in ascending order.</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> arr = [1,3,6,10,15]
<strong>Output:</strong> [[1,3]]
</pre>

<p><strong class="example">Example 3:</strong></p>

<pre>
<strong>Input:</strong> arr = [3,8,-10,23,19,-4,-14,27]
<strong>Output:</strong> [[-14,-10],[19,23],[23,27]]
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

<ul>
	<li><code>2 &lt;= arr.length &lt;= 10<sup>5</sup></code></li>
	<li><code>-10<sup>6</sup> &lt;= arr[i] &lt;= 10<sup>6</sup></code></li>
</ul>

class Solution:

    def search(self, arr, n):
        l = 0
        r = len(arr)-1
   
        result = None
        while l <= r:
            mid = l + (r-l)//2
            if arr[mid] == n:
                result = arr[mid]
                break
            if arr[mid] > n:
                r = mid-1
            else:
                l = mid +1
        return result

    def minimumAbsDifference(self, arr: List[int]) -> List[List[int]]:
        arr.sort()
        diff = [a-b for a,b in zip(arr[1:], arr[:-1])]
        
        diff_min = diff[0]
        for d in diff:
            if d < diff_min:
                diff_min = d
        result = []
        print(arr)
        #for n in arr:
        #    n2 = self.search(arr, n+diff_min)
        #    if n2 != None:
        #        result.append([n,n2])
        
        for i in range(1,len(arr)):
            if arr[i]- arr[i-1] == diff_min:
                result.append([arr[i-1], arr[i]])
        return result
32000