Golang:
思路:这题稍微抓住一个点,在一个有序数组里,最小元素差总是出现在两个相邻的元素间,于是这题就变成了,排序,然后一次遍历。
代码如下:
func minimumAbsDifference(arr []int) [][]int {
sort.Ints(arr)
min:=arr[1]-arr[0]
var res [][]int
for i:=1;i<len(arr);i++{
if arr[i]-arr[i-1]<min {
min=arr[i]-arr[i-1]
res=[][]int{}
res= append(res, []int{arr[i-1],arr[i]})
}else if arr[i]-arr[i-1]==min{
res= append(res, []int{arr[i-1],arr[i]})
}
}
return res
}
有疑问加站长微信联系(非本文作者)