-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1200.py
More file actions
36 lines (32 loc) · 984 Bytes
/
1200.py
File metadata and controls
36 lines (32 loc) · 984 Bytes
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
"""
给你个整数数组 arr,其中每个元素都 不相同。
请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。
示例 1:
输入:arr = [4,2,1,3]
输出:[[1,2],[2,3],[3,4]]
示例 2:
输入:arr = [1,3,6,10,15]
输出:[[1,3]]
示例 3:
输入:arr = [3,8,-10,23,19,-4,-14,27]
输出:[[-14,-10],[19,23],[23,27]]"""
class Solution:
def minimumAbsDifference(self, arr):
"""
:param arr:list[int]
:return: list[list[int]]
"""
arr.sort()
r=[]
m = arr[-1] - arr[0]
for i in range(len(arr) - 1):
if arr[i + 1] - arr[i] <= m:
m = arr[i + 1] - arr[i]
for i in range(len(arr)-1):
if arr[i+1]-arr[i]==m:
r.append([arr[i],arr[i+1]])
return r
s=Solution()
print(s.minimumAbsDifference([4,2,1,3]))
print(s.minimumAbsDifference([1,3,6,10,15]))
print(s.minimumAbsDifference([3,8,-10,23,19,-4,-14,27]))