我的博客

Leetcode weekly contest 155 - 最小绝对差(minimum absolute difference)

目录

题目描述

给你个整数数组 arr,其中每个元素都 不相同

请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。

示例 1:

1
2
输入:arr = [4,2,1,3]
输出:[[1,2],[2,3],[3,4]]

示例 2:

1
2
输入:arr = [1,3,6,10,15]
输出:[[1,3]]

示例 3:

1
2
输入:arr = [3,8,-10,23,19,-4,-14,27]
输出:[[-14,-10],[19,23],[23,27]]

提示:

  • 2 <= arr.length <= 10^5
  • -10^6 <= arr[i] <= 10^6

AC 代码

1
2
3
4
5
6
7
8
9
10
11
12
class Solution:
def minimumAbsDifference(self, arr):
arr.sort()
ans = []
mind = arr[1] - arr[0]
for i in range(2, len(arr)):

mind = min(mind, arr[i] - arr[i-1])
for i in range(1, len(arr)):
if arr[i] - arr[i-1] == mind:
ans.append([arr[i-1], arr[i]])
return ans

评论无需登录,可以匿名,欢迎评论!