题目描述:给你个整数数组 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;
}
};
本文介绍了一种算法,用于解决寻找整数数组中具有最小绝对差的所有元素对的问题。通过首先对数组进行排序,然后遍历数组以找出最小绝对差,最后收集并返回这些差值相等的元素对。
1445

被折叠的 条评论
为什么被折叠?



