1200. 최소 절대 차이

주어진 숫자 구별할 수 있는 정수 arr, 두 요소의 절대 차이가 최소인 모든 요소 쌍을 찾습니다.

쌍 목록을 오름차순(쌍 기준)으로 반환합니다. (떨어져 있는) 팔로우

  • 가, 나 에서 온다 도착
  • a
  • 두 요소의 최소 절대 차이와 같습니다. 도착

예 1:

Input: arr = (4,2,1,3)
Output: ((1,2),(2,3),(3,4))
Explanation: The minimum absolute difference is 1. List all pairs with difference equal to 1 in ascending order.

예 2:

Input: arr = (1,3,6,10,15)
Output: ((1,3))

예 3:

Input: arr = (3,8,-10,23,19,-4,-14,27)
Output: ((-14,-10),(19,23),(23,27))

제한:

  • 2 <= 배열 길이 <= 105
  • -106 <= 도착(i) <= 106

#https://leetcode.com/problems/minimum-absolute-difference/

'''
1. 아이디어 :
    정렬 후 인접한 두 수의 차이를 구하고 그 중 최소값을 구한다.
2. 시간복잡도 :
    O(n*logn) + O(n) + O(n)
3. 자료구조 :
    리스트
'''


class Solution:
    def minimumAbsDifference(self, arr: List(int)) -> List(List(int)):
        arr.sort()
        cmin=float('inf')
        for i in range(len(arr)-1):
            cmin=min(abs(arr(i+1)-arr(i)),cmin)
        ans=()
        for i in range(len(arr)-1):
            if abs(arr(i+1)-arr(i))==cmin:
                ans.append((arr(i),arr(i+1)))
        return ans