題目描述:
給你個整數陣列 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]]
2 <= arr.length <= 10^5
-10^6 <= arr[i] <= 10^6
方法1:
主要思路:
(1)先對陣列進行排序;
(2)在對相鄰的元素的差值進行判斷,是否需要更新更小的組成;
class
solution;}
//先對陣列進行排序
sort
(arr.
begin()
,arr.
end())
; vectorint>> res;
int cur_diff=int_max;
//儲存當前的差值
for(
int i=
1;isize()
;++i));
}else
if(arr[i]
-arr[i-1]
}}return res;}}
;
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 最小絕對差
1200.最小絕對差 1.考慮先排序 2.求相鄰元素差,與原列表元素產生對應關係 3.由題意找到所有解 class solution def minimumabsdifference self,arr list int list list int arr.sort subtract list arr...
1200 最小絕對差(排序)
1.問題描述 給你個整數陣列 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...