題目
給你個(gè)整數(shù)數(shù)組 arr店诗,其中每個(gè)元素都 不相同暑诸。
請你找到所有具有最小絕對差的元素對余赢,并且按升序的順序返回宿稀。
示例 1:
輸入:arr = [4,2,1,3]
輸出:[[1,2],[2,3],[3,4]]
示例 2:
輸入:arr = [1,3,6,10,15]
輸出:[[1,3]]
示例 3:
輸入:arr = [3,8,-10,23,19,-4,-14,27]
輸出:[[-14,-10],[19,23],[23,27]]
提示:
2 <= arr.length <= 10^5
-10^6 <= arr[i] <= 10^6
java代碼:
class Solution {
public List<List<Integer>> minimumAbsDifference(int[] arr) {
Arrays.sort(arr);
int minDistance = Integer.MAX_VALUE;
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int min = arr[i + 1] - arr[i];
if (min < minDistance) {
minDistance = min;
}
}
List<List<Integer>> res = new ArrayList<>();
for (int i = 0; i < n - 1; i++) {
int min = arr[i + 1] - arr[i];
if (min == minDistance) {
List<Integer> sub = new ArrayList<>();
sub.add(arr[i]);
sub.add(arr[i+1]);
res.add(sub);
}
}
return res;
}
}