-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathMinimumAbsoluteDifferenceinanArray.java
More file actions
41 lines (34 loc) ยท 1.17 KB
/
Copy pathMinimumAbsoluteDifferenceinanArray.java
File metadata and controls
41 lines (34 loc) ยท 1.17 KB
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 hackerrank;
import java.util.Arrays;
public class MinimumAbsoluteDifferenceinanArray {
static int minimumAbsoluteDifference(int[] arr) {
//๊ฐ์ฅ ์์ ์ ๋ํธ์ฐจ๋ฅผ ๋ฆฌํดํ๋ ๋ฌธ์
//sol1 -> Time limit exceeded
/*
//๋ฐฐ์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ธฐ
Arrays.toString(arr);
//์์ ์ ๋ํธ์ฐจ ์ ์ธํ๊ธฐ
int min = Math.abs(Math.min(arr[0]-arr[1], arr[1]-arr[0]));
//๊ฐ์ฅ ์์ ์ ๋ํธ์ฐจ ์ฆ๊ธฐ -> ์ ๋ํธ์ฐจ์ด๊ธฐ๋๋ฌธ์ arr[i]-arr[j], arr[j]-arr[i]๋ฅผ ๋น๊ตํ ํ์๊ฐ ์์๋ค, sol2์ฒ๋ผ ํ๋ฉด ๋จ
for(int i=0; i<arr.length; i++){
for(int j=i+1; j<arr.length; j++){
min = Math.abs(Math.min(arr[i]-arr[j], arr[j]-arr[i])) < min ? Math.abs(Math.min(arr[i]-arr[j], arr[j]-arr[i])) : min;
}
}
return min;
*/
//
//sol2
Arrays.sort(arr);
int min = Integer.MAX_VALUE;
for(int i = 0; i < arr.length-1; i++)
{
int currentMin = Math.abs(arr[i]-arr[i+1]);
min = Math.min(min, currentMin);
}
return min;
}
public static void main(String[] args) {
System.out.println(minimumAbsoluteDifference(new int[]{-2,2,4})+", ans: 2");
}
}