Número de palíndromos dentro de una cadena
He escrito el siguiente código para contar el número de cadenas palindrómicas en una cadena dada:
countPalindromes <- function(str){
len <- nchar(str)
count <- 0
for(i in 1:len){
for(j in i:len){
subs <- substr(str, i, j)
rev <- paste(rev(substring(subs, 1:nchar(subs), 1:nchar(subs))), collapse = "")
if(subs == rev){
count <- count + 1
}
}
}
count
}
Esto en realidad funciona bien, pero el código debe optimizarse de tal manera que se ejecute a un ritmo más rápido.
Por favor, sugiera algunas formas de optimizar este fragmento de código.