코린이의 소소한 공부노트

[LeetCode/Easy] 1200. Minimum Absolute Difference 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1200. Minimum Absolute Difference

무지맘 2023. 4. 6. 14:37

1. Input

1) int[] arr

 

2. Output

1) 다음 조건을 만족하는 두 수 a,b를 리스트에 담은 리스트(List<List<Integer>>)를 반환

- a, barr의 요소

- a < b

- b-aarr의 두 요소의 차 중 가장 작아야 한다.

 

3. Constraint

1) 2 <= arr.length <= 10^5

2) - 10^6 <= arr[i] <= 10^6

 

4. Example

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

설명: arr의 두 요소를 골라 차를 구했을 때 가장 작은 차는 2이고, 이를 만족하는 두 요소는 13뿐이므로 [[1,3]]을 반환한다.

 

5. Code

1) 첫 코드(2023/04/06)

Arrays.sort(arr);
int dif = Integer.MAX_VALUE;
for(int i=0 ; i<arr.length-1 ; i++)
    if(dif>arr[i+1]-arr[i])
        dif = arr[i+1]-arr[i];
List<List<Integer>> answer = new ArrayList<List<Integer>>();
for(int i=0 ; i<arr.length-1 ; i++)
    if(dif==arr[i+1]-arr[i]){
        List<Integer> list = new ArrayList<>();
        list.add(arr[i]); list.add(arr[i+1]);
        answer.add(list);
    }
return answer;