본문 바로가기
알고리즘 문제/Leetcode

[leetcode][1200] Minimum Absolute Difference

by 햄과함께 2019. 9. 22.
320x100

문제 : https://leetcode.com/problems/minimum-absolute-difference/


arr 배열을 오름차순으로 정렬한다.

b - a 값은 오름차순 정렬시 바로 옆에 있는 요소들의 차가 최소 값이 된다.

따라서 정렬된 arr 배열을 앞에서부터 탐색하면서 [arr[i], arr[i-1]]가 [a, b]이다.

arr[i-1] - arr[i] 값을 구하고 이 값이 이때동안 계산한 diff의 최소값보다 크다면 정답이 될 수 있으므로 skip.

diff 최소 값이랑 같다면 정답배열에 추가.

diff 최소 값보다 작다면 이때동안 구한 정답 배열을 빈 배열로 초기화 시키고 정답 배열에 추가한다.

 

시간복잡도는 정렬하는데 걸리는 시간인 O(NlogN).


소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/1200.%20Minimum%20Absolute%20Difference.cpp

320x100

댓글