This commit is contained in:
2026-04-22 00:18:54 +08:00
parent 45faf83d37
commit 4355946f39
+35
View File
@@ -0,0 +1,35 @@
package leetcode
import "math"
func abs(x int) int {
if x < 0 {
return -x
}
return x
}
func minimumDistance(nums []int) int {
m := make(map[int]([]int))
for i, v := range nums {
_, ok := m[v]
if !ok {
m[v] = make([]int, 0)
}
m[v] = append(m[v], i)
}
ans := math.MaxInt
for _, v := range m {
if len(v) < 3 {
continue
}
for i := 0; i+2 < len(v); i++ {
temp := abs(v[i]-v[i+1]) + abs(v[i]-v[i+2]) + abs(v[i+1]-v[i+2])
ans = min(ans, temp)
}
}
if ans == math.MaxInt {
return -1
}
return ans
}