当前位置: 首页 > 科技观察

今日算法:回文子串

时间:2023-03-13 17:21:27 科技观察

给定一个字符串,您的任务是计算该字符串中有多少个回文子串。具有不同开始或结束位置的子串,即使它们由相同的字符组成,也被认为是不同的子串。示例1:输入:"abc"输出:3解释:三个回文子串:"a"、"b"、"c"示例2:输入:"aaa"输出:6解释:6个回文子串:"a","a","a","aa","aa","aaa"提示:输入的字符串长度不会超过1000解决方法一:暴力方法letcountSubstrings=function(s){letcount=0for(leti=0;i1&&s[i]==s[j]&&dp[i+1][j-1]:dp[i][j]=true即:s[i]==s[j]&&(j-i<=1||dp[i+1][j-1]):dp[i][j]=true,否则为false代码实现:letcountSubstrings=函数{constlen=s.lengthletcount=0constdp=newArray(len)for(leti=0;i