Files
2026-04-02 15:43:24 +02:00

24 lines
471 B
Go

package maximumnumberofnonoverlappingpalindromesubstrings
import (
"maps"
"slices"
)
func FindPalindromes(letters string) [][2]int {
L := map[[2]int]bool{}
for length := range letters {
for start := range len(letters) - length {
end := start + length
if length < 2 {
L[[2]int{start, end}] = true
} else {
L[[2]int{start, end}] = L[[2]int{start + 1, end - 1}] && letters[start] == letters[end]
}
}
}
return slices.Collect(maps.Keys(L))
}