main.go
package main
import (
"fmt"
"sort"
)
func main() {
var horses int
fmt.Println("How many horse are in the race?")
fmt.Scan(&horses)
power := make([]int, horses)
for i := 0; i < horses; i++ {
fmt.Printf("Horse[%d] power: ", i)
fmt.Scan(&power[i])
}
fmt.Println(HorseDuals(horses, power))
}
func SlowHorseDuals(lovak int, loero []int) (szoros int) {
szoros = Abs(loero[0] - loero[1])
for key, value := range loero {
for i := key + 1; i < lovak; i++ {
if Abs(value-loero[i]) < szoros {
szoros = Abs(value - loero[i])
}
}
}
return
}
func HorseDuals(lovak int, loero []int) (szoros int) {
sort.Ints(loero)
szoros = Abs(loero[0] - loero[1])
for i := 2; i < lovak; i++ {
diff := Abs(loero[i-1] - loero[i])
if diff < szoros {
szoros = diff
}
}
return
}
func Abs(x int) int {
if x < 0 {
return -x
}
return x
}