Input: arr =[4,2,1,3]Output:[[1,2],[2,3],[3,4]]Explanation: The minimum absolute difference is1. List all pairs with difference equal to 1in ascending order.
publicclassSolution {
public List<List<Integer>>minimumAbsDifference(int[] arr) {
Arrays.sort(arr); // Sort the arrayint minDiff = Integer.MAX_VALUE;
List<List<Integer>> result =new ArrayList<>();
// Find the minimum difference between adjacent elementsfor (int i = 1; i < arr.length; i++) {
int diff = arr[i]- arr[i - 1];
if (diff < minDiff) {
minDiff = diff;
result.clear(); // Reset result list result.add(Arrays.asList(arr[i - 1], arr[i]));
} elseif (diff == minDiff) {
result.add(Arrays.asList(
arr[i - 1], arr[i])); // Add pair to result list }
}
return result;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
defminimum_abs_difference(arr):
arr.sort() # Sort the array min_diff = float("inf")
result = []
# Find the minimum difference between adjacent elementsfor i in range(1, len(arr)):
diff = arr[i] - arr[i -1]
if diff < min_diff:
min_diff = diff
result =[[arr[i -1], arr[i]]] # Reset result listelif diff == min_diff:
result.append([arr[i -1], arr[i]]) # Add pair to result listreturn result