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)) }