1200 最小絕對差

2021-10-09 13:25:48 字數 890 閱讀 8524

題目描述:

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