Minimum Absolute Difference
给一个数组, 返回差最小的两个数, 如果答案不唯一, 返回所有的两个数的数字. 先排序, 然后找到最小差, 然后再扫一边找到答案.
class Solution {
public List<List<Integer>> minimumAbsDifference(int[] arr) {
Arrays.sort(arr);
int min = Integer.MAX_VALUE;
for(int i = 1; i < arr.length; i++) {
min = Math.min(min, arr[i] - arr[i-1]);
}
List<List<Integer>> res = new ArrayList<List<Integer>>();
for(int i = 1; i < arr.length; i++) {
if(arr[i] - arr[i-1] == min) {
List<Integer> a = new ArrayList<>();
a.add(arr[i-1]);
a.add(arr[i]);
res.add(a);
}
}
return res;
}
}