给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

示例 1:

输入:“abc”
输出:3
解释:三个回文子串: “a”, “b”, “c”
示例 2:

输入:“aaa”
输出:6
解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”

提示:

输入的字符串长度不会超过 1000 。

代码

class Solution:def countSubstrings(self, s: str) -> int:# dp[i][j]表示 i 到 j 的字符串能不能构成回文串,那么dp[i][j] = dp[i +1][j - 1] && (s[i] == s[j])dp = [[False] * len(s) for _ in range(len(s))]qq = 0for i in range(len(s), -1, -1): # i 需要从后面开始,因为i需要用到i++(根据状态转移方程可以看出的转移方向)for j in range(i, len(s)):if i == j:dp[i][j] = Trueelif i == j - 1:dp[i][j] = (s[i] == s[j])else:dp[i][j] = dp[i + 1][j - 1] and (s[i] == s[j])if dp[i][j] == True:qq += 1return qq

力扣:647. 回文子串相关推荐

  1. leetcode力扣647. 回文子串

    给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc" 输 ...

  2. leetcode - 647. 回文子串

    647. 回文子串 ------------------------------------------ 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串.具有不同开始位置或结束位置的子串, ...

  3. 美团/力扣(647)--回文字串

    美团/力扣(647)–回文字串 文章目录 美团/力扣(647)--回文字串 一.题目描述 二.分析 方法一:中心扩散 代码一: 方法二:DP 代码二: 一.题目描述 力扣: 美团: 兄弟们!刷题的重要 ...

  4. 力扣- - 最短回文串(KMP算法)

    力扣- - 最短回文串(KMP算法) 文章目录 力扣- - 最短回文串(KMP算法) 一.题目描述 二.分析之KMP算法 1.暴力法 2.KMP算法 3.next数组求法1:暴力查找最长的前后缀 4. ...

  5. 《leetcode : 647. 回文子串 思考分析双指针解法》

    647. 回文子串 如何确定是回文串: 找中心然后往两边扩散,判断是否对称即可. 在遍历中心点的时候,注意中心点可以是一个元素也可以是两个元素. class Solution {public:int ...

  6. LeetCode 647. 回文子串 (动态规划)

    647. 回文子串 题意: 任意给定一个字符串,计算这个字符串的回文子串个数 解法1(暴力法) 思路: 默认回文子串初始个数为字符串长度 从子串长度为2-母串长度:找出所有的子串startIndex和 ...

  7. 代码随想录补打卡 647 回文子串 516 最长回文子序列

    647 回文子串 代码如下 func countSubstrings(s string) int {    //dp[i][j]数组的含义是i-j这个范围的元素是否为回文串 dp := make([] ...

  8. Java实现 LeetCode 647 回文子串(暴力)

    647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "a ...

  9. python回文子串_LeetCode 647. 回文子串 | Python

    647. 回文子串 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串. 示例 1: 输入:" ...

最新文章

  1. 干货:排名前 16 的 Java 工具类!
  2. Dos一键清理系统垃圾教程
  3. 精算模型1 一元生存分析3 条件概率与截尾分布
  4. android 获取控件高度_安卓开发入门教程UI控件_ImageView
  5. [总结] 康托展开及其逆运算
  6. Adobe Illustrator的教程等距购物移动应用程序
  7. ARC075 F.Mirrored
  8. javascript设计模式-装饰者模式
  9. spring入门——注入demo
  10. steam自定义信息框_如何设置和自定义Steam控制器
  11. 逆向PPTV视频真实播放地址全过程(Java版)
  12. html导航栏分割线如何,网页导航栏用图片做的分割线,第一个分割线怎么取消...
  13. 按概率(权重)抽取(显示)
  14. php画梯形,科学网—梯形法误差 - 张江敏的博文
  15. 毕业两年,洋洋洒洒千字文
  16. PHP 门面设计模式
  17. git和码云的基本使用
  18. 专升本计算机综合-C语言篇
  19. 蓝桥杯嵌入式(G431RBT6):按键
  20. SSD-pytorch踩坑及修正(StopIteration)

热门文章

  1. 计算机系一班班会,计算机学院计算机类20级1班举行“爱在身边,温馨家园”主题班会...
  2. AST实战技巧|使用v神插件动态替换AST还原后的代码
  3. 函数定义涉及的三要素C语言,c语言函数的调用
  4. CPU超频全方位攻略
  5. 生动的入门经典!CPU超频全方位攻略…
  6. python人工自动抠图_Python - AI自动抠图
  7. 【GNURadio实验报告】实验2-使用GNURadio仿真OOK信号
  8. AndroBench手机性能测试【转】
  9. swagger 怎么显示enum_dotnet core swagger filter 隐藏接口和显示枚举描述
  10. 11 ,FacetGrid 使用,分组画图 :各种图形,详细设置