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