-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMinimumAbsoluteDifference.java
41 lines (35 loc) · 1.13 KB
/
MinimumAbsoluteDifference.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.smlnskgmail.jaman.leetcodejava.easy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
// https://leetcode.com/problems/minimum-absolute-difference/
public class MinimumAbsoluteDifference {
private final int[] input;
public MinimumAbsoluteDifference(int[] input) {
this.input = input;
}
public List<List<Integer>> solution() {
Arrays.sort(input);
int diff = Integer.MAX_VALUE;
for (int i = 0; i < input.length - 1; i++) {
int abs = Math.abs(input[i] - input[i + 1]);
if (diff > abs) {
diff = abs;
}
}
List<List<Integer>> result = new ArrayList<>();
for (int i = 0; i < input.length - 1; i++) {
int fNum = input[i];
int sNum = input[i + 1];
if (Math.abs(fNum - sNum) == diff) {
result.add(
Arrays.asList(
Math.min(fNum, sNum),
Math.max(fNum, sNum)
)
);
}
}
return result;
}
}