주어진 숫자 구별할 수 있는 정수 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