题目描述:给你个整数数组 arr,其中每个元素都 不相同。请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。
解题思路:因为是升序返回,所以先用sort()函数对数组进行排序。然后找出元素之间的最小绝对差再进行比较。
代码:
class Solution {
public:
vector<vector<int>> minimumAbsDifference(vector<int>& arr) {
sort(arr.begin(),arr.end());
vector<vector<int>>result;
int min_diff=INT_MAX;
for(int i=0;i<arr.size()-1;++i){
min_diff=min(arr[i+1]-arr[i],min_diff);
}
for(int i=0;i<arr.size()-1;++i){
if(arr[i+1]-arr[i]==min_diff)
result.push_back({arr[i],arr[i+1]});
}
return result;
}
};