首页 > 技术文章 > 1200. 最小绝对差(排序)

NiBosS 2020-01-03 19:45 原文

思路: 1.先对数组排序  2.遍历第一遍求最小绝对值差  3.遍历第二遍填充最小绝对值差的元素对

 1 class Solution {
 2     public List<List<Integer>> minimumAbsDifference(int[] arr) {
 3         int minAbs=Integer.MAX_VALUE;
 4         List<List<Integer>> res=new ArrayList<>();
 5         Arrays.sort(arr);
 6         for(int i=0;i<arr.length-1;i++) minAbs=Math.min(minAbs,Math.abs(arr[i]-arr[i+1]));
 7         for(int i=0;i<arr.length-1;i++){
 8             if(arr[i+1]-arr[i]==minAbs){
 9                 ArrayList<Integer> temp=new ArrayList<>();
10                 temp.add(arr[i]);temp.add(arr[i+1]);
11                 res.add(temp);
12             }
13         }
14         return res;
15     }
16 }

推荐阅读