24 lines
471 B
Go
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))
|
|
}
|