虽然题做错了
func minimumDifference(nums []int, k int) int {
if k == 1 {
return 0
}
n := len(nums)
t := make([]int, 0)
m := 100001
var backtrack func(int)
backtrack = func(start int) {
if len(t) == k {
tmp := make([]int, len(t))
copy(tmp, t)
slices.Sort(tmp)
m = min(m, absInt(tmp[0] - tmp[len(tmp) - 1]))
return
}
for i := start; i < n; i++ {
t = append(t, nums[i])
backtrack(i + 1)
t = t[:len(t) - 1]
}
}
backtrack(0)
return m
}
func absInt(n int) int {
if n < 0 {
return -n
}
return n
}