1200. Minimum Absolute Difference #
题目 #
- 给你个整数数组
arr
,其中每个元素都 不相同。 - 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。
- 每对元素对
[a,b
] 如下:a , b
均为数组arr
中的元素a < b
b - a
等于arr
中任意两个元素的最小绝对差
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public List<List<Integer>> minimumAbsDifference(int[] arr) {
Arrays.sort(arr);
List<List<Integer>> ans = new LinkedList<>();
int minDistance = Integer.MAX_VALUE;
for (int i = 1; i < arr.length; i++) {
int distance = arr[i] - arr[i-1];
if (distance > minDistance) continue;
if (distance < minDistance) {
minDistance = distance;
ans = new LinkedList<>();
}
List<Integer> pair = new LinkedList<>();
pair.add(arr[i-1]); pair.add(arr[i]);
ans.add(pair);
}
return ans;
}
}