29 lines
479 B
Go
29 lines
479 B
Go
package q1200
|
|
|
|
import (
|
|
"math"
|
|
"slices"
|
|
)
|
|
|
|
func minimumAbsDifference(arr []int) [][]int {
|
|
slices.Sort(arr)
|
|
|
|
minDist := math.MaxInt
|
|
for i := range len(arr) - 1 {
|
|
minDist = min(minDist, arr[i+1]-arr[i])
|
|
}
|
|
|
|
ret := [][]int{}
|
|
for i := range len(arr) - 1 {
|
|
if arr[i+1]-arr[i] == minDist {
|
|
nums := []int{arr[i+1], arr[i]}
|
|
if nums[0] > nums[1] {
|
|
nums[0], nums[1] = nums[1], nums[0]
|
|
}
|
|
ret = append(ret, nums)
|
|
}
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var _ = minimumAbsDifference
|