g1101_1200.s1200_minimum_absolute_difference.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1101_1200.s1200_minimum_absolute_difference;
// #Easy #Array #Sorting #2022_02_27_Time_14_ms_(98.30%)_Space_52_MB_(84.02%)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 1200 - Minimum Absolute Difference\.
*
* 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 <= 105
* * -106 <= arr[i] <= 106
**/
public class Solution {
public List> minimumAbsDifference(int[] arr) {
List> result = new ArrayList<>();
int min = 10000000;
Arrays.sort(arr);
for (int i = 0; i + 1 < arr.length; i++) {
int diff = arr[i + 1] - arr[i];
if (diff <= min) {
if (diff < min) {
min = diff;
result.clear();
}
result.add(Arrays.asList(arr[i], arr[i + 1]));
}
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy