LeetCode1200 最小絕對差

2021-10-23 11:17:00 字數 967 閱讀 1722

一. 題目

題目給你個整數陣列 arr,其中每個元素都 不相同。

請你找到所有具有最小絕對差的元素對,並且按公升序的順序返回。

示例

二. 方法一

解題思路

先排序, 在比較相鄰兩個元素的差值

如果差值小於之前的最小值, 則更改最小值, 並清空之前的結果集, 同時把當前結果存入結果集

如果差值等於之前的最小值, 則把當前結果存入結果集

如果差值大於之前的最小值, 則跳過

返回最終的結果集即可

解題**

def

minimumabsdifference

(self, arr: list[

int])-

> list[list[

int]]:

arr.sort(

) min_size =

200001

result =

for index in

range

(len

(arr)-1

):if arr[index +1]

- arr[index]

< min_size:

min_size = arr[index +1]

- arr[index]

result =

[arr[index]

, arr[index +1]

])elif arr[index +1]

- arr[index]

== min_size:

[arr[index]

, arr[index +1]

])return result

分析時間複雜度: o(nlogn)

空間複雜度: o(n)

Leetcode 1200 最小絕對差

給你個整數陣列 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,...

1200 最小絕對差

給你個整數陣列 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,...

1200 最小絕對差

題目描述 給你個整數陣列 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,...