package main
import (
"fmt"
"sort"
)
func longestCommonPrefix(arr []string) string {
size := len(arr)
if size == 0 {
return ""
}
if size == 1 {
return arr[0]
}
sort.Strings(arr)
minLength := min(len(arr[0]), len(arr[size-1]))
i := 0
for i < minLength && arr[0][i] == arr[size-1][i] {
i++
}
return arr[0][:i]
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
func main() {
arr := []string{"cartography", "carburetor", "carbonating", "cartoon"}
fmt.Println("The longest common prefix:", longestCommonPrefix(arr))
}
/*
run:
The longest common prefix: car
*/