最小绝对差(简单)
2020年7月23日
题目来源:力扣
解题
1.先进行排序
2.两两比对差值
3.刷新list
4.注意arraylist构建时可以指定空间大小,提速
class Solution {
public List<List<Integer>> minimumAbsDifference(int[] arr) {
List<List<Integer>> list = new ArrayList<>();
// 先进行排序
Arrays.sort(arr);
int len = arr.length, min = Integer.MAX_VALUE;
for(int i=1;i<len;i++){
int val = arr[i]-arr[i-1];
if(val < min){
list.clear();
List<Integer> slist = new ArrayList<>(2);
slist.add(arr[i-1]);
slist.add(arr[i]);
list.add(slist);
min = val;
}
else if(val == min){
List<Integer> slist = new ArrayList<>(2);
slist.add(arr[i-1]);
slist.add(arr[i]);
list.add(slist);
}
}
return list;
}
}