我正在编写R函数,以返回回文字符串中子字符串的数量。
示例输入
:aba
预期输出:
4
回文子字符串为a, b, a, aba
。下面是我写的函数,可以正常工作。但是,有什么方法可以替换循环或提高此代码的性能:
countPalindromes <- function(str){
len <- nchar(str)
strsp <- strsplit(str, "")[[1]]
count <- 0
for(i in 1:len){
for(j in i:len){
if(all(strsp[i:j] == strsp[j:i])){
count <- count + 1
}
}
}
cat(count)
}
f <- file("C:\\Input.txt")
open(f)
s = readLines(f, n = 1, warn = FALSE)
countPalindromes(s)
谢谢。