1200. Minimum Absolute Difference -LeetCode

Description:

Minimum Absolute Difference

  • User Accepted: 3657
  • User Tried: 3866
  • Total Accepted: 3733
  • Total Submissions: 5783
  • Difficulty: Easy

Given an array of distinct integers arr, find all pairs of elements with the minimum absolute difference of any two elements. 

Return a list of pairs in ascending order(with respect to pairs), each pair [a, b] follows

  • a, b are from arr
  • a < b
  • b - a equals to the minimum absolute difference of any two elements in arr

 

Example 1:

Input: arr = [4,2,1,3]
Output: [[1,2],[2,3],[3,4]]
Explanation: The minimum absolute difference is 1. List all pairs with difference equal to 1 in ascending order.

Example 2:

Input: arr = [1,3,6,10,15]
Output: [[1,3]]

Example 3:

Input: arr = [3,8,-10,23,19,-4,-14,27]
Output: [[-14,-10],[19,23],[23,27]]

 

Constraints:

  • 2 <= arr.length <= 10^5
  • -10^6 <= arr[i] <= 10^6


Solution:

 

class Solution {
    public List<List<Integer>> minimumAbsDifference(int[] arr) {
        
        if(arr ==null|| arr.length ==0){
            return null;
        }
        
        List<List<Integer>> res = new ArrayList<List<Integer>> ();
        
       
        
        int min_diff = Integer.MAX_VALUE; 
        
        Arrays.sort(arr);
        
        for(int i = 0; i< arr.length-1; i++){
        
            int tmp = Math.abs(arr[i+1] -arr[i] );
              // System.out.println(tmp);
            
            if( tmp <= min_diff){
                
                min_diff = tmp; 
            }
            
            //System.out.println(tmp);
            
        }
        
        for(int i = 0; i<arr.length-1; i++){
          
            if(Math.abs(arr[i+1] -arr[i] )==min_diff){
                 List<Integer> cur = new ArrayList<Integer>();
                
                cur.add(arr[i]);
                
                cur.add(arr[i+1]);
                
                res.add(cur);
            }
            
        }
    // System.out.println(min_diff);
        
        return res;
        
    }
}

 

 

 

posted @ 2019-09-23 18:08  CodingYM  阅读(371)  评论(0编辑  收藏  举报