← All problems

1200. Minimum Absolute Difference

EasyOpen on LeetCodeProblem statement

Problem Statement

1200. Minimum Absolute Difference

Easy


Given an array of distinct integers arr, find all pairs of elements with the minimum absolute difference of any two elements. 

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

 

Example 1:

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

Example 2:

Input: arr = [1,3,6,10,15]
Output: [[1,3]]

Example 3:

Input: arr = [3,8,-10,23,19,-4,-14,27]
Output: [[-14,-10],[19,23],[23,27]]

 

Constraints:

C++

Source file
class Solution {
public:
    vector<vector<int>> minimumAbsDifference(vector<int>& arr) {
        vector<vector<int> > res;
        int diff = INT_MAX;
        sort(arr.begin(), arr.end());
        for(int i = 1; i < arr.size(); i++){
            int temp = arr[i]-arr[i-1];
            cout << "$" << temp << endl;
            if (temp>diff)
                continue;
            if (temp<diff){
                diff = temp;
                res.clear();
            }
            if (temp<=diff)
                res.push_back({arr[i-1],arr[i]});
        }
        return res;
    }
};